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