如何从给定的字典列表(list of dictionary)中提取键和值?
从字典列表提取键与值的方法
原始数据
data = [{'index': 0, 'MaterialCode': '67567412', 'DP_Category': 'HAIR CARE'}, {'index': 1, 'MaterialCode': '67567412', 'DP_Category': 'HAIR CARE'}]
提取所有键
- 若列表中所有字典结构一致,直接取第一个字典的键即可:
keys = data[0].keys() print(keys) # 输出: dict_keys(['index', 'MaterialCode', 'DP_Category'])
- 若字典结构可能存在差异,收集所有唯一键:
all_unique_keys = set() for item in data: all_unique_keys.update(item.keys()) all_unique_keys = list(all_unique_keys) print(all_unique_keys) # 输出: ['index', 'MaterialCode', 'DP_Category']
提取所有值
- 提取每个字典的全部值,返回嵌套列表:
all_values = [list(item.values()) for item in data] print(all_values) # 输出: [[0, '67567412', 'HAIR CARE'], [1, '67567412', 'HAIR CARE']]
按指定键批量提取值
比如要提取所有MaterialCode对应的值:
material_codes = [item['MaterialCode'] for item in data] print(material_codes) # 输出: ['67567412', '67567412']
如果担心部分字典缺失目标键,用get()方法避免报错:
material_codes = [item.get('MaterialCode', '无此值') for item in data]
内容的提问来源于stack exchange,提问作者Satyajit Barik
相关产品推荐
相关产品推荐

