Python尝试除了继续无法打印预期的结果

Sha*_*kar 0 python dictionary exception python-2.7

有人可以指出我哪里出错了,除了继续或更好的方法来解决这个问题,这里究竟发生了什么.

dic = {'arun': 123213, 'hari': 31212, 'akila': 321, 'varun': 12132, 'apple': 3212}
u1 = {'arun': 123123, 'orange': 1324214}
u2 = {'akila': 1234124, 'apple': 123123}
u3 = {'hari': 144}
u4 = {'anna': 23322}
for key, value in dic.iteritems():
    try:
        A = u1[key]
        B = u2[key]
        C = u3[key]
        D = u4[key]

    except KeyError:
        continue
    print A, B, C, D  # fails to print 
Run Code Online (Sandbox Code Playgroud)

eca*_*mur 6

如果任何查找失败,continue将跳到下一个键dic.即使未找到密钥,您也希望使用保证给出结果的操作,例如dict.get:

for key, value in dic.iteritems():
    A = u1.get(key)  # A is None if not found
    # ...
    print A, B, C, D
Run Code Online (Sandbox Code Playgroud)