检查同一行中的2个字典中是否存在密钥

Roh*_*hit 1 python dictionary

我有2个字典:

a = {'abc': 12}
b = {'abcd': 13, 'abc': 99}
Run Code Online (Sandbox Code Playgroud)

我想检查字典中是否存在某个键.在这种情况下,我想检查a和c是否包含密钥'abc'

我有以下代码:

if 'abc' in a:
    if 'abc' in b:
        print(True)
    else:
        print(False)
else:
    print(False) 
Run Code Online (Sandbox Code Playgroud)

和:

if ('abc' in a) and ('abc' in b):
    print(True)
else:
    print(False)
Run Code Online (Sandbox Code Playgroud)

但是有更好的方法吗?

Jon*_*nts 5

不是 - 这几乎和它一样好......对于发生的事情,它是可读的和明显的:

如果dicts 的数量增长:

all('abc' in d for d in (d1, d2, d3, d4))
Run Code Online (Sandbox Code Playgroud)

或者,先预先计算,然后访问:

common_keys = set(d1).intersection(d2, d2, d3, d4)
'abc' in common_keys
Run Code Online (Sandbox Code Playgroud)