PHP前端开发

Python如何高效地从嵌套列表中提取列值并转换为字典?

百变鹏仔 1个月前 (12-15) #PHP
文章标签 嵌套

将嵌套列表转换为字典

在 php 中,array_column 方法可用于从多维数组中提取指定列的值。在 python 中,没有内置函数可以完全实现此功能,但我们可以通过封装一些实用函数来模拟类似的效果。

提取单个列的值

要提取嵌套列表中指定列名的值,我们可以使用以下函数:

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

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

提取列的键值对

另一种情况是提取列的键值对,我们可以使用以下函数:

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 中实现类似 array_column 方法的效果,灵活地处理嵌套列表的列和键值对。