【问题标题】:Iterate through dict key with a specific value遍历具有特定值的 dict 键
【发布时间】:2017-10-02 16:56:03
【问题描述】:

我有一个这样的字典:

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

如何遍历这个字典的键值False

【问题讨论】:

  • 你不能,你必须遍历所有这些并检查值是否为 false。

标签: python python-3.x


【解决方案1】:

只需使用List comprehension

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

这将返回一个list,其中包含keys,其中valueFalse。现在,通过list 是一件简单的事情。

#driver 值:

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

【讨论】:

    【解决方案2】:

    你可以这样做:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        您必须先过滤它们,这是一个工作示例:

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

        这通过遍历所有(键,值)对,并遍历具有负 valuekeys 来工作

        【讨论】:

        • OP 正在寻找 False,而不是 True
        • 我刚刚修好了 :)
        猜你喜欢
        • 2019-12-21
        • 2021-12-15
        • 2019-11-24
        • 1970-01-01
        • 1970-01-01
        • 2020-07-02
        • 2019-11-07
        • 1970-01-01
        • 2017-05-26
        相关资源
        最近更新 更多