使用try除了查找字典中是否存在密钥

问题描述 投票:2回答:4

我想知道找到python字典中是否存在密钥的最佳方法,而不是一次又一次地访问整个密钥列表。我正在考虑尝试除外。有没有更好的方法?

python dictionary try-catch
4个回答
2
投票

只需使用in运算符:

print('some_key' in my_dict)

1
投票

Pythonic的方式是遵循EAFP(更容易要求原谅而不是许可)原则。

这意味着假设密钥在dict中,并且如果不是,则捕获异常,如下所示:

my_dict = {"key": "value"}
try:
    print my_dict["badkey"]
except KeyError:
    print "No such key found"

0
投票

正如@Mureinik所提到的,你可以使用:

key_name in dict

返回true或false。但是,如果你拼命想使用try和except,你可以使用:

try:
    x = dict[key_name]
except KeyError:
    # Handle error here

0
投票

对不起,混乱的人。我知道我可以在dict.keys()中使用简单的key_name。但我必须搜索所有密钥才能知道该密钥是否存在。所以我正在考虑尝试,除了上面的那个。我的问题是,如果使用try是好的做法除外?有没有其他方法可以达到不访问所有密钥的相同目的?

© www.soinside.com 2019 - 2024. All rights reserved.