首页 > 解决方案 > Python 两个 dicts 并获取匹配值

问题描述

有两个字典

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它的字典会抛出错误。在不使用熊猫和循环的情况下映射两个字典的有效方法是什么。是否有我们可以使用的查找功能或任何查找功能?

标签: pythonpython-3.xpandasloopsdictionary

解决方案


干得好:

res = [d for d in dictss if d.get("name") == dicts_to_be_mapped[0]['name']]
print(res)

输出

[{'name': 'matt', 'country': 'USA'}]

推荐阅读