关于python:检查关键字是否在字典中?

Check if key is in the dictionary?

本问题已经有最佳答案,请猛点这里访问。

如何检查字典中是否有关键字?

这是我的字典:

1
2
3
4
edges = {(1, 'a') : 2,
         (2, 'a') : 2,
         (2, '1') : 3,
         (3, '1') : 3}

我试过这样做:

1
if edges[(1, 'a')]

但我得到一个错误:

1
2
3
4
5
6
7
8
Traceback (most recent call last):
  File"vm_main.py", line 33, in <module>
    import main
  File"/tmp/vmuser_lvzelvvmfq/main.py", line 30, in <module>
    print fsmsim("aaa111",1,edges,accepting)
  File"/tmp/vmuser_lvzelvvmfq/main.py", line 16, in fsmsim
    if edges[(1, 'a')]:
TypeError: 'dict' object is not callable

正确的方法是什么?


只需使用in操作符(与not in操作符一起使用):

1
2
3
if (1, 'a') in edges:

if (1, 'a') not in edges:

下面是python字典类型文档的摘录,其中d是字典:

key in d

Return True if d has a key key, else False.

key not in d

Equivalent to not key in d.