Pythonic和compact方式比较dict中的键

Vor*_*Vor 3 python dictionary

只是想知道如何做到这一点的好方法:

a = {'key':'value'}
if 'key' in a:
    if a['key'] == 'value':
        # do something ...
Run Code Online (Sandbox Code Playgroud)

问题是有时我需要处理"key"实际上的情况"@key",所以我不想复制相同的代码if '@key' in a: ....

那么问题是如何以大多数Pythonic和更紧凑的方式处理这两种情况?

sim*_*ack 8

以下是我将如何做到这一点:

a = {'key':'value'}
if any(a.get(key, None) == 'value' for key in ('key','@key')):
    # do something ...
Run Code Online (Sandbox Code Playgroud)