2024-10-06 11:26:05 发布
网友
如何根据满足某个条件的字典在字典列表中获取字典值?例如,如果列表中的某个字典的id=5,我想打印对应于该字典的name键的值:
name
list = [{'name': 'Mike', 'id': 1}, {'name': 'Ellen', 'id': 5}] id = 5 if any(m['id'] == id for m in list): print m['name']
这行不通,因为m没有在if语句之外定义。在
m
这将很容易通过一个for循环来完成:
for d in list: if 'id' in d and d['in'] == 5: print(d['name'])
这里有两个关键概念需要学习。第一种方法是使用for loop来“遍历列表中的每个元素”。第二,我们使用in词来检查字典是否有特定的键。在
new_list = [m['name'] for m in list if m['id']==5] print '\n'.join(new_list)
您有一个字典列表,因此可以使用列表理解:
[d for d in lst if d['id'] == 5] # [{'id': 5, 'name': 'Ellen'}]
这将很容易通过一个for循环来完成:
这里有两个关键概念需要学习。第一种方法是使用for loop来“遍历列表中的每个元素”。第二,我们使用in词来检查字典是否有特定的键。在
您有一个字典列表,因此可以使用列表理解:
相关问题 更多 >
编程相关推荐