Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3,如何检查列表中是否有一些字典值?_Python_List - Fatal编程技术网

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