繁体   English   中英

使用特定值迭代dict键

[英]Iterate through dict key with a specific value

我有这样的字典:

my_dict={val1:True, val2:False, val3:False, val4:True}

如何遍历此dict的值为False的键?

只需使用List comprehension

[key for key,val in my_dict.items() if val==False]

这将返回一个包含value Falsekeyslist 现在,通过list是一件简单的事情。

#driver值:

IN : my_dict = {'a': True,'b': False, 'c': True, 'd': False}
OUT : ['b','d']

你可以这样做:

>>> my_dict={'val1':True,'val2':False,'val3':False,'val4':True}
>>> [k for k, v in my_dict.items() if not v]
['val2', 'val3']
>>> 

简单解决您的问题:

for i,j in my_dict.items():
    if j is False:
        print(i)

附加信息 :

在python中我们可以使用if something:用于检查truthy和falsy:

所以:

for i,j in my_dict.items():

    if not j:
        print(i)

您可以使用生成器表达式:

print(list((key for key,value in my_dict.items() if not value)))

你必须先过滤它们,这是一个有效的例子:

for key in (k for k, v in my_dict.items() if not v):
    print(key)

这是通过在所有的(键,值)对去,并遍历key具有负小号value

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM