【发布时间】:2020-06-29 16:16:45
【问题描述】:
我是 Python 新手。
我正在尝试将字典 results 与字典列表 d 进行比较。如果它等于列表 d 中的字典(除了缺少结果“名称”键),我应该打印其中一个值(名称),如果不等于任何 - 打印不匹配。
特别是: d - 字典列表:
[OrderedDict([('name', 'Alice'), ('AAA', '2'), ('BBB', '8'), ('CCC', '3')]), OrderedDict([('name', 'Bob'), ('AAA', '4'), ('BBB', '1'), ('CCC', '5')]),
OrderedDict([('name', 'Charlie'), ('AAA', '3'), ('BBB', '2'), ('CCC', '5')])]
结果 - 字典:
{'AAA': 4, 'BBB': 1, 'CCC': 5}
由于 results 与 dict 列表 d 的相似部分相同,我应该在该 d dict 列表中返回 'name'(在本例中为 Bob)
我正在尝试以下代码,但它似乎不起作用:
for i in range(len(d)):
if key in d[i] != 'name':
for k, v in results.items and d[i].items():
if results.items() == d[i].items():
print(d[i]['name'])
else:
print("No match")
如果你能提供一些简单和更详细的解释,我会很高兴,因为我还没有高级:)
谢谢!
【问题讨论】:
标签: python list dictionary compare