Python 检查键是否在字典中?

Python 检查键是否在字典中?,python,python-2.7,dictionary,Python,Python 2.7,Dictionary,如何检查字典中是否有键? 这是我的字典: edges = {(1, 'a') : 2, (2, 'a') : 2, (2, '1') : 3, (3, '1') : 3} 我尝试过这样做: if edges[(1, 'a')] 但我有一个错误: Traceback (most recent call last): File "vm_main.py", line 33, in <module> import main

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

这是我的字典:

edges = {(1, 'a') : 2,
         (2, 'a') : 2,
         (2, '1') : 3,
         (3, '1') : 3}
我尝试过这样做:

if edges[(1, 'a')]
但我有一个错误:

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
回溯(最近一次呼叫最后一次):
文件“vm_main.py”,第33行,在
进口干管
文件“/tmp/vmuser_lvzelvvmfq/main.py”,第30行,在
打印fsmsim(“aaa111”,1,边缘,接受)
fsmsim中的文件“/tmp/vmuser_lvzelvvmfq/main.py”,第16行
如果边[(1,'a')]:
TypeError:“dict”对象不可调用

正确的方法是什么?

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

下面是Python字典类型的摘录,其中
d
是一个字典:

edges = {(1, 'a') : 2,
         (2, 'a') : 2,
         (2, '1') : 3,
         (3, '1') : 3}
输入d

如果
d
有一个键
key
,则返回
True
,否则返回
False

键不在d中

相当于
不输入d


该代码没有给出该错误-它是完全有效的。还有别的事情。