Python 怎么实现类似 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` 列的值提取出来 甚至把别的字段的值作为键名 Python 怎么实现类似 `PHP` `array_column` 方法的效果:

阅读量:19

点赞量:0

问AI
得封装成两个方法会比较好,php一些方法属于历史遗留问题,设计的并不符合某些规范 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'}