【问题标题】:Searching for and updating a dictionary in a list of dictionaries in python在python中的字典列表中搜索和更新字典
【发布时间】:2016-01-05 22:19:27
【问题描述】:

所以我知道:Python list of dictionaries search

回答我问题的第一部分。

但是,我的问题是这样的:我想直接更新搜索字典,而不是简单地检索它。

更具体地说,我有一个字典列表。每个字典都有一个“列表”键,其值是另一个列表。我想在找到字典后更新该列表。

每个字典的结构如下: {"name": "whatever", "display":"whoever", "list": [x, y, z]}

所以一个示例列表是:

[
    {"name": "whatever", "display":"whoever", "list": [x, y, z]},
    {"name": "whatever2", "display":"whoever2", "list": [x2, y2, z2]},
    {"name": "whatever3", "display":"whoever3", "list": [x3, y3, z3]}
]

我想检索名称为“whatever2”的字典并将 a2 添加到“列表”中。

最好的方法是什么?

“最佳”可以是您衡量“python-ness”/“性能”/代码清晰度等的标准。

【问题讨论】:

    标签: python json list search dictionary


    【解决方案1】:
    L = [
        {"name": "whatever", "display":"whoever", "list": [x, y, z]},
        {"name": "whatever2", "display":"whoever2", "list": [x2, y2, z2]},
        {"name": "whatever3", "display":"whoever3", "list": [x3, y3, z3]}
    ]
    
    for d in L:
        if d['name'] != 'whatever2': continue
        d['list'].append('a2')
        break  # unless you could have multiple dictionaries in your list with the same name
    

    【讨论】:

      猜你喜欢
      • 2021-11-21
      • 2022-11-12
      • 2017-10-02
      • 1970-01-01
      • 2012-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多