遍历字典中特定值的键

4

我有一个这样的字典:

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

我该如何遍历这个字典中值为 False 的键?

7
你需要迭代所有值并检查其是否为false,无法进行其他操作。 - jonrsharpe
4个回答

6

只需使用 List comprehension

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

这将返回一个包含将value设置为Falsekeyslist。现在,只需简单地遍历这个list即可。

#driver values:

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

1
你可以像这样做:

你可以像这样做:

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

1
您的问题的简单解决方案是:

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

额外信息:

在Python中,我们可以使用if something:来检查真假:

因此:

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)))

0

你必须先过滤它们,这是一个可行的示例:

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

这个程序通过遍历所有的(键,值)对,并迭代具有负值的key来实现。


OP正在寻找False,而不是True - RagingRoosevelt
我刚刚修好了 :) - eugecm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接