【问题标题】:Python two dicts and fetch matching valuesPython 两个 dicts 并获取匹配值
【发布时间】:2020-10-12 14:36:49
【问题描述】:

有两个字典

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

【问题讨论】:

  • 你给出了一个有效的例子。不起作用的 dicts 看起来像什么,或者更准确地说是数据集的更大示例。

标签: python python-3.x pandas loops dictionary


【解决方案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'}]

【讨论】:

    【解决方案2】:

    给你:

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

    输出

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      相关资源
      最近更新 更多