【问题标题】:Python: using only certain keys in a dictionary for a for-loopPython:仅使用字典中的某些键进行for循环
【发布时间】:2012-02-07 16:10:42
【问题描述】:

另一个python字典问题:)

这是我的字典:

mydict = {key1: valueA, key2: valueA, key3: valueB, key4: valueA,
key5: valueA, key6: valueB, key7: valueB, key8: valueA, key9: valueB}

现在我只想遍历字典的键值对 key4key5key6key7 并检查值是否为 valueB。 我希望有可能理解我的意思..

我想创建一个for循环,只有key4的值为valueB,循环的内容才会被执行,然后,如果key5的值为valueB,就应该再次执行,以此类推.提前致谢

【问题讨论】:

  • 你可以遍历["key4","key5","key6","key7"]?
  • 我不清楚你的意思。请尝试用一个具体的例子更好地解释。谢谢。

标签: python dictionary for-loop key


【解决方案1】:
for key in ["key4","key5","key6","key7"]:
   if mydict[key] == valueB :
      #do what you want

【讨论】:

    【解决方案2】:
    for key in [key4, key5, key6, key7]:
        if mydict[key] == valueB:
            pass # do stuff here
    

    【讨论】:

      【解决方案3】:

      “从key4key7”是没有意义的概念。字典基本上是无序的。没有明智的说法可以说一把钥匙在另一把钥匙之前或之后。

      确定所有要检查的键,并检查它们。

      【讨论】:

      • 我知道它是无序的,也许我应该写key4,key5,key6,key7更清楚
      • 在这种情况下,其他答案是完美的。虽然老实说,我不知道你是如何走到这一步的,但无法推理出类似的事情。
      【解决方案4】:

      您还可以创建一组ignored_keys,然后在迭代之前删除这些键。

      for key in mydicts.keys() - ignore_keys:
          value = mydict[key]
          ....
      

      【讨论】:

      • 这是一个更好的答案,因为它更普遍有用,并且会产生更具可扩展性的编码模式。
      猜你喜欢
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-12
      • 2022-01-12
      相关资源
      最近更新 更多