【发布时间】:2020-05-02 12:29:13
【问题描述】:
我有一个字典列表。当另一个字典对的值为'x'时,我想获取字典对的值
alphabets = [
{"name": "abc", "value": "first_three"},
{"name": "mno", "value": "middle"},
{"name": "xyz", "value": "last_three"}
]
abc 时如何获得first_three。
这就是我正在做的,但我没有得到任何结果。
res = [ sub['name'] for sub in d['alphabets'] ]
if res == 'abc':
val = [ sub['value'] for sub in d['alphabets'] ]
print(val)
我没有得到任何结果。 name == 'abc时如何获取first_three
【问题讨论】:
-
试试这样的:
values_where_names_are_abc = [_['value'] for _ in list_dict if _['name'] == 'abc']. -
如果您编辑您的帖子并与您提到的变量名称保持一致会很好。您的字典列表是
list_dict,但在您的代码中您提到了d['alphabet']和sub['name']。这让你很难理解你想要实现的逻辑。 -
如果名称是唯一的,我建议使用以名称为键的字典。
标签: python python-3.x list dictionary for-loop