【问题标题】:How to check if dictionary has certain key (Python)如何检查字典是否有某个键(Python)
【发布时间】:2013-11-16 12:20:09
【问题描述】:

我有一个 defaultdict 字典,它的键如下:

RJECNIK['*','A']['<A>']

现在我不知道如何检查是否有密钥,例如:

a=list(RJECNIK.keys())

只给我第一个键的列表(['*','A'])。 在我的代码中,我需要一个 if 语句

如果键入 RJECNIK: ...

但它不起作用,因为我不知道如何使用 2 个键检查 defaultdict 中的一对键。

【问题讨论】:

  • 您将多维字典(Python 没有)与字典字典(RJECNIK 是什么)混淆了。
  • 我不明白你的问题,我不明白 RJECNIK['*','A']['&lt;A&gt;'] 表示法

标签: python dictionary key


【解决方案1】:

您需要检查两个字典中的两个键:

key = ('*', '<A>')
if key[0] in RJECNIK and key[1] in RJECNIK[key[0]]:
    pass

【讨论】:

  • 如果嵌套任意深,似乎可以用reduce概括。
  • 非常感谢,这成功了!我可能把你们都弄糊涂了,我应该让它更简单,但你明白了。
【解决方案2】:

从这里:'has_key()' or 'in'?

if ("*","A") in RJECNIK:
    print "key is in dictionary" 

根据这个In what case would I use a tuple as a dictionary key?你应该没问题

【讨论】:

    【解决方案3】:

    您正在使用元组作为字典键; '*', 'A' 只是拼写元组('*', 'A') 的另一种方式。所以

    if ('*', 'A') in RJECNIK:
    

    应该是真的。

    【讨论】:

      猜你喜欢
      • 2014-09-14
      • 1970-01-01
      • 2017-06-23
      • 2015-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-21
      • 2019-06-13
      相关资源
      最近更新 更多