0

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

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

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

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

我有一个if条件来检查"c"密钥的存在并基于它给出一些输出。条件如下:

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

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

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

我可以知道我能做些什么来解决这个问题以及在代码中更正什么吗?

4

3 回答 3

4

用于in检查键是否在字典中:

if "c" in test:
   ...
于 2013-08-07T12:48:31.313 回答
1

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

于 2013-08-07T12:49:35.000 回答
1

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

于 2013-08-07T12:50:38.727 回答