Python如何从字典列表中提取所有键名并生成目标列表
解决方案
分两种常见场景处理:
场景1:所有字典的键完全一致(用csv.DictReader读取CSV生成的列表默认属于这个场景,所有字典的键都和表头完全对应)
直接取列表第一个字典的键转换为列表即可,代码最简单、执行效率最高:
dict_list = [ {'name': 'Tom', 'Age': '15', 'location': 'USA'}, {'name': 'Paul', 'Age': '31', 'location': 'UK'}, {'name': 'Tony', 'Age': '24', 'location': 'France'} ] keys = list(dict_list[0].keys())
运行后keys的输出就是你需要的['name', 'Age', 'location']。
场景2:字典可能存在缺键,需要收集所有出现过的键的并集
遍历所有字典收集键后去重即可,你可以根据需要额外调整排序规则:
all_keys = set() for item in dict_list: all_keys.update(item.keys()) # 转成列表输出 keys = list(all_keys)
内容的提问来源于stack exchange,提问作者Halfwai
相关产品推荐
相关产品推荐

