如果字典包含多个键,是否有一个很好的方法来测试?
简短版本:
d = {}
if 'a' in d and 'b' in d and 'c' in d:
pass #do something
Run Code Online (Sandbox Code Playgroud)
谢谢.
编辑:我只能使用python2.4 -.-
Mag*_*off 21
您可以这样使用set.issubset(...):
>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> set(['a', 'b']).issubset(d)
True
>>> set(['a', 'x']).issubset(d)
False
Run Code Online (Sandbox Code Playgroud)
Python 3引入了一个集合文字语法,该语法已被反向移植到Python 2.7,所以现在可以编写以下内容:
>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> {'a', 'b'}.issubset(d)
True
>>> {'a', 'x'}.issubset(d)
False
Run Code Online (Sandbox Code Playgroud)
Pau*_*McG 20
if all(test in d for test in ('a','b','c')):
# do something
Run Code Online (Sandbox Code Playgroud)
在Python3中你可以写
set("abc")<=d.keys()
Run Code Online (Sandbox Code Playgroud)
在Python2.7中你可以写
d.viewkeys()>=set("abc")
Run Code Online (Sandbox Code Playgroud)
当然,如果该键不单字符可以替换
set("abc")使用set(('a', 'b', 'c'))