比较python中的2个词典时得到一个奇怪的结果

iGw*_*wok 2 python python-2.7

所以我在python中有一对字典:(两者都有完全相同的键)

defaults = {'ToAlpha': 4, 'ToRed': 4, 'ToGreen': 4, 'ToBlue': 4,}

bridged = {'ToAlpha': 3, 'ToRed': 0, 'ToGreen': 1, 'ToBlue': 2,}
Run Code Online (Sandbox Code Playgroud)

当我遍历其中一个字典时,我会快速检查其他字典是否具有相同的密钥,如果是,则将其打印出来.

for key, value in defaults.iteritems():
    if bridged.get(key):
        print key
Run Code Online (Sandbox Code Playgroud)

我期望看到的是:

ToAlpha
ToRed
ToGreen
ToBlue
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,"ToRed"没有打印出来.我必须在这里遗漏一些非常简单的东西,但不知道可能会造成这种情况.

bridged.get('ToRed')
Run Code Online (Sandbox Code Playgroud)

和

defaults.get('ToRed')
Run Code Online (Sandbox Code Playgroud)

两者都是独立工作,但是当循环遍历时......没什么!

有任何想法吗?

Ign*_*ams 7

0是假的.使用in检查遏制.

if key in bridged:
Run Code Online (Sandbox Code Playgroud)