Hello! 欢迎来到小浪资源网!


Python如何模拟PHP的array_column函数功能?


Python如何模拟PHP的array_column函数功能?

python 如何实现类似 php array_column 方法的功能

php 中,array_column 函数是一个非常有用的工具,它可以从多维数组中提取指定列的值。在 python 中,没有直接对应于这个函数的方法,但我们可以使用列表推导或字典推导来实现类似的功能。

提取特定列的值

假设我们有一个包含字典的列表,类似于php中 array_column 的应用场景:

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

为了提取所有 id 列的值,我们可以使用列表推导:

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

id_list = [item['id'] for item in nested_list]

输出:

[1, 2, 3]

提取键值对

还可以使用字典推导从列表中创建字典,其中指定列的值用作字典的键或值:

id_name_dict = {item['id']: item['name'] for item in nested_list}

输出:

{1: 'alice', 2: 'bob', 3: 'charlie'}

封装为函数

为了更方便地重复使用,我们可以将这两个方法封装成函数:

def extract_column(data, column_name):     return [item[column_name] for item in data]  def extract_column_to_dict(data, key_column_name, value_column_name):     return {item[key_column_name]: item[value_column_name] for item in data}

现在,我们可以通过调用这些函数来轻松提取列值、键值对

id_list = extract_column(nested_list, 'id') id_name_dict = extract_column_to_dict(nested_list, 'id', 'name')  print(id_list) # 输出: [1, 2, 3] print(id_name_dict) # 输出: {1: 'Alice', 2: 'Bob', 3: 'Charlie'}

相关阅读