Python3,如何检查列表中是否有一些字典值?
我想知道值Python3,如何检查列表中是否有一些字典值?,python,list,Python,List,我想知道值'b_sec'在列表的键'b'中 例如: list = [ {'a': 'a_first', 'b': 'b_first'}, {'a': 'a_sec', 'b': 'b_sec'}, {'a': 'a_third', 'b': 'b_third'} ] 我怎样才能做到这一点呢?只要使用Python的内置函数来检查一个条件是否适用于多个条件中的任何一个任何在遇到第一个truthy元素时会提前中断并避免虚假迭代: if 'b_sec' is in list's
'b_sec'
在列表的键'b'
中
例如:
list = [
{'a': 'a_first', 'b': 'b_first'},
{'a': 'a_sec', 'b': 'b_sec'},
{'a': 'a_third', 'b': 'b_third'}
]
我怎样才能做到这一点呢?只要使用Python的内置函数来检查一个条件是否适用于多个条件中的任何一个<代码>任何在遇到第一个truthy元素时会提前中断并避免虚假迭代:
if 'b_sec' is in list's value of 'b':
print('found')
使用
d.get('b')
而不是d['b']
更可靠,因为如果'b'
不在其中一个目录中,它不会引发错误。请注意,如果您正在查找的值是None
,则必须为get
提供不同的默认值,例如d.get('b','')
使用get
而不使用回退值有点违背目的,不是吗?@Ev.Kounis使None
成为隐式回退,这很好,因为None!='b_sec'
谢谢你,它帮助了我
if any(d.get('b') == 'b_sec' for d in lst): # do not use 'list' as a name
# do stuff
>>> 'b_sec' in [d['b'] for d in list]
True
>>> 'b_fourth' in [d['b'] for d in list]
False