假设我想创建一个dict
(或类似dict
对象),如果我尝试访问不在dict
.
我可以通过使用来做到这一点defaultdict
:
from collections import defaultdict
foo = defaultdict(lambda: "bar")
print(foo["hello"]) # "bar"
或通过使用常规dict
并始终使用dict.get(key, default)
来检索值:
foo = dict()
print(foo.get("hello", "bar")) # "bar"
print(foo["hello"]) # KeyError (as expected)
除了必须记住使用.get()
默认值而不是预期的括号语法的明显人体工程学开销之外,这两种方法之间有什么区别?