避免在字典中找不到键是一种常见做法吗
我在想,下面这种写法是不是一种常见的做法,用来避免在字典中找不到键的情况?
# 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)
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。