Python如何将同结构字典列表合并为单个值列表
Python提取同构字典列表的值的简便方案
示例输入:original_list = [{"name": "Dwight"}, {"name": "Michael"}, {"name": "Jim"}]
目标输出:["Dwight", "Michael", "Jim"]
方案1:列表推导式(最推荐,可读性最高)
如果你明确知道所有字典的目标键名,直接用列表推导式遍历提取即可:
result = [item["name"] for item in original_list]
如果每个字典仅有一个键值对,不想显式写键名也可以这么实现:
result = [next(iter(item.values())) for item in original_list]
方案2:内置map函数(函数式写法更简洁)
偏好函数式编程的话可以用内置的map方法实现:
result = list(map(lambda x: x["name"], original_list))
小提示:如果不确定列表中的所有字典都包含目标键,可以用
dict.get()方法避免抛出KeyError,示例:[item.get("name", "默认值") for item in original_list]
内容的提问来源于stack exchange,提问作者Phil Cho
相关产品推荐
相关产品推荐

