我想知道找到python字典中是否存在密钥的最佳方法,而不是一次又一次地访问整个密钥列表。我正在考虑尝试除外。有没有更好的方法?
只需使用in
运算符:
print('some_key' in my_dict)
Pythonic的方式是遵循EAFP(更容易要求原谅而不是许可)原则。
这意味着假设密钥在dict中,并且如果不是,则捕获异常,如下所示:
my_dict = {"key": "value"}
try:
print my_dict["badkey"]
except KeyError:
print "No such key found"
正如@Mureinik所提到的,你可以使用:
key_name in dict
返回true或false。但是,如果你拼命想使用try和except,你可以使用:
try:
x = dict[key_name]
except KeyError:
# Handle error here
对不起,混乱的人。我知道我可以在dict.keys()中使用简单的key_name。但我必须搜索所有密钥才能知道该密钥是否存在。所以我正在考虑尝试,除了上面的那个。我的问题是,如果使用try是好的做法除外?有没有其他方法可以达到不访问所有密钥的相同目的?