避免在字典中找不到键是一种常见做法吗

11 投票
5 回答
9712 浏览
提问于 2025-04-16 08:30

我在想,下面这种写法是不是一种常见的做法,用来避免在字典中找不到键的情况?

# default is 0
value = my_dic[100] if 100 in my_dic else 0

5 个回答

2

如果你试图访问一个字典中不存在的键,Python会抛出一个异常,这会导致你的程序崩溃。为了避免这种情况,你应该“捕获”这个异常,并采取更优雅的处理方式。

捕获异常是一种更好的做法:

try: 
  value = my_dic[100]
except KeyError:
   print("key not found in dictionary") #or handle the error more elegantly

我没有读过这篇文章,但你可以在这里了解更多信息: http://en.wikipedia.org/wiki/Exception_handling

2

如果你在很多地方都需要使用“默认值”,可以考虑用 defaultdict 作为一个替代方案。(使用工厂/回调的方法可以让你在“默认值”上有更多的灵活性。)

祝你编码愉快。

33
value = my_dic.get(100, 0)

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

撰写回答