我有3本词典
a = {1:'this' ,2:'is' ,3:'an' ,4:'example'}
b = {4:'this' ,5:'is' ,6:'example'}
c = {7:'this' ,8:'is'}
和这个
for i in range(10):
print a[i] ,b[i] ,c[i]
它会导致 KeyError,我如何知道三个字典中的哪一个引发了错误?有什么简单的方法。
感谢您提供任何帮助。
我有3本词典
a = {1:'this' ,2:'is' ,3:'an' ,4:'example'}
b = {4:'this' ,5:'is' ,6:'example'}
c = {7:'this' ,8:'is'}
和这个
for i in range(10):
print a[i] ,b[i] ,c[i]
它会导致 KeyError,我如何知道三个字典中的哪一个引发了错误?有什么简单的方法。
感谢您提供任何帮助。
没有办法使用您当前的代码执行此操作,因为 Python 异常回溯是基于行的,而不是基于令牌的。
相反,您可以使用.get()
字典上的方法,并检查每个结果以查看它是否正常None
(或者如果这些值实际上可以None
正常,请提供您自己的备用默认值)。
for i in range(10):
# if a key is missing in a, x will be None, etc.
x, y, z = a.get(i), b.get(i), c.get(i)
或者,您可以将print
语句分成多行:
for i in range(10):
print a[i],
print b[i],
print c[i]
然后您可以根据需要将它们包装在单独的try
块中。