list = [
{'a': 'a_first', 'b': 'b_first'},
{'a': 'a_sec', 'b': 'b_sec'},
{'a': 'a_third', 'b': 'b_third'}
]
我想知道值'b_sec'
在列表的键'b'
中。
示例:
if 'b_sec' is in list's value of 'b':
print('found')
我该怎么做?
答案 0 :(得分:5)
只需使用Python的内置函数any
来检查条件是否满足any
中的所有条件。 any
会尽早中断,并在遇到第一个true元素时避免虚假迭代:
if any(d.get('b') == 'b_sec' for d in lst): # do not use 'list' as a name
# do stuff
使用d.get('b')
而不是d['b']
更健壮,因为如果'b'
不在其中之一中,则不会引发错误。请注意,如果有可能,您寻找的值是None
,则必须为get
提供不同的默认值,例如d.get('b', '')
。
答案 1 :(得分:2)
>>> 'b_sec' in [d['b'] for d in list]
True
>>> 'b_fourth' in [d['b'] for d in list]
False