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

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

如何用 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},
]

names = extract_column(data, 'name')
print(names)  # 输出:['Alice', 'Bob', 'Charlie']

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

以上就是Python如何实现类似PHP array_column函数的功能?的详细内容,更多请关注硕下网其它相关文章!