如果是Python词典的条件

时间:2013-08-07 12:46:41

标签: python if-statement dictionary

所以我有一个字符串,它被转换成一个名为test的字典,并采用以下形式:

{"a":"1","b":"2","c":"3"}

现在在创建字典时,"c":"3"密钥对的可用性取决于某种条件;所以有些情况下字典只是读作:

{"a":"1","b":"2"}

我有一个if条件,它会检查"c"键是否存在,并根据它提供一些输出。条件如下:

if (test["c"]):
            print "Hello world!!"

这没有别的条件。当第3个键值对不在字典中时会出现问题。运行代码会出现以下错误:

File "test.py", line 14, in test
      if test["c"]:
KeyError: 'c'

我可以知道如何解决此问题以及在代码中纠正的内容?

3 个答案:

答案 0 :(得分:4)

使用in检查密钥是否在字典中:

if "c" in test:
   ...

答案 1 :(得分:1)

而不是test['c']尝试使用test.get('c')

答案 2 :(得分:1)

您可以像其他人建议的那样检查密钥是否在字典中,但另一种解决方案是使用defaultdict