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
。我刚刚修复了它:)