Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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
Python 使用特定值迭代dict键_Python_Python 3.x - Fatal编程技术网

Python 使用特定值迭代dict键

Python 使用特定值迭代dict键,python,python-3.x,Python,Python 3.x,我有这样一句话: my_dict={val1:True, val2:False, val3:False, val4:True} >>> my_dict={'val1':True,'val2':False,'val3':False,'val4':True} >>> [k for k, v in my_dict.items() if not v] ['val2', 'val3'] >>> 如何迭代此dict的键,这些键的值为False?您必

我有这样一句话:

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

如何迭代此dict的键,这些键的值为
False

您必须先筛选它们,这是一个有效的示例:

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

这通过遍历所有(键、值)对,并迭代具有负
值的

只需使用
列表理解即可:

[key for key,val in my_dict.items() if val==False]
这将返回一个
列表
,其中包含具有
,作为
。现在,只需浏览
列表

#驱动程序值:

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

您可以这样做:

my_dict={val1:True, val2:False, val3:False, val4:True}
>>> 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:

因此:

可以使用生成器表达式:

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

您不能,您必须遍历所有这些值并检查值是否为false。OP正在查找
false
,而不是
True
。我刚刚修复了它:)