【发布时间】:2015-07-14 21:41:22
【问题描述】:
我在以下代码中得到一个“KeyError”来表示不存在的key:
c.execute("SELECT * FROM table1 where col1 = 'test'")
res = c.fetchall()
sum = 0
for x in res:
print "res: ",res
d = {"num1" : [ str(testVal[x[2]]['num1']) for x in res ],
"num2" : [ str(testVal[x[2]]['num2']) for x in res ],
}
conn.close()
这是错误:
"num1": [ str(testVal[x[2]]['num1']) for x in res ],
KeyError: u'13'
如何检查该键是否具有值,然后将其分配给"num1", "num2"。
【问题讨论】:
-
你能编辑你的代码吗?引号很乱。另外,知道错误发生在哪一行会很有帮助。
-
另外,
dict.get('key', defaultValue)非常有用。