有两个字典
dictss =[
{
'country': 'USA'},
{'name': 'matt',
'country': 'USA'},
{'name': 'tom',
'country': 'USA'}]
和
dicts_to_be_mapped = [{
'name':'matt'
}]
尝试使用此地图:
res = [d for d in dictss if d["name"] == dicts_to_be_mapped[0]['name']]
对于没有name
的字典,它将引发错误。在不使用熊猫和循环的情况下映射两个字典的有效方法是什么?是否可以使用查找功能或任何查找功能?
答案 0 :(得分:1)
您在这里:
res = [d for d in dictss if d.get("name") == dicts_to_be_mapped[0]['name']]
print(res)
输出
[{'name': 'matt', 'country': 'USA'}]
答案 1 :(得分:1)
使用d.get
代替d["name"]
:
res = [d for d in dictss if d.get("name") == dicts_to_be_mapped[0]['name']]
结果是:
[{'name': 'matt', 'country': 'USA'}]