PHP前端开发

Python如何实现PHP的array_column函数功能?

百变鹏仔 3天前 #PHP
文章标签 如何实现

python 中实现类似 php array_column 方法

在 php 中,array_column() 函数用于从多维数组中提取特定列的值或键值对。在 python 中,可以通过编写自定义函数来实现类似的功能。

要提取特定列的值,可以编写以下函数:

def extract_column(data, column_name):    """    提取列表中指定列名的值,并返回一个列表    :param data: 包含字典的列表    :param column_name: 要提取的列名    :return: 包含提取值的列表    """    return [item[column_name] for item in data]

要将列值作为键,其他列值作为值提取到字典中,可以编写以下函数:

立即学习“PHP免费学习笔记(深入)”;

def extract_column_to_dict(data, key_column_name, value_column_name):    """    提取列表中指定键名和值名的字典    :param data: 包含字典的列表    :param key_column_name: 键名对应的列名    :param value_column_name: 值对应的列名    :return: 包含提取键值对的字典    """    return {item[key_column_name]: item[value_column_name] for item in data}

例如,对于以下列表:

data = [    {'id': 1, 'name': 'alice', 'age': 25},    {'id': 2, 'name': 'bob', 'age': 30},    {'id': 3, 'name': 'charlie', 'age': 35},]

使用以上函数可以提取 id 列的值为:

ids = extract_column(data, 'id')  # 输出: [1, 2, 3]

使用以上函数可以提取 id 列作为键,name 列作为值的新字典为:

new_dict = extract_column_to_dict(data, 'id', 'name')  # 输出: {1: 'Alice', 2: 'Bob', 3: 'Charlie'}