假设我有一个类似下面的关联数组:
{'key1': 22, 'key2': 42}
。
我该如何检查字典中是否存在key1
?
if key in array:
# do something
在Python中,关联数组被称为字典。您可以通过stdtypes文档了解更多信息。
key
不在数组中。 - Spencer Wood如果您想要检索键的值(如果存在),您还可以使用
try:
value = a[key]
except KeyError:
# Key is not present
pass
如果你想在键值不存在时获取默认值,请使用value = a.get(key, default_value)
。
如果你想在键值不存在时同时设置默认值,请使用value = a.setdefault(key, default_value)
。try/except
语句。否则,使用if in
语句更加优美和高效。感谢提到其他可能性。 - aaronasterling另一种方法是has_key()
(如果仍在使用Python 2.X):
>>> a={"1":"one","2":"two"}
>>> a.has_key("1")
True
has_key
在Python 3中已被弃用并移除,在Python 2中速度降低了一半。 - aaronasterling
'key1' in {'key1': 22, 'key2': 42}.keys()
来引用字典中的keys()
方法。 - Eat at Joes