当与defaultdict
一起使用时,“TYPE lambda”到底是做什么的?我有一个例子,在这个例子中,即使将int
、list
和lambda
作为参数传递进去也可以正常工作:
d = defaultdict(int)
d['one'] = lambda x:x*x
d['one'](2)
4
d = defaultdict(list)
d['one'] = lambda x:x*x
d['one'](2)
4
d = defaultdict(lambda: None)
d['one'] = lambda x:x*x
d['one'](2)
4
每次我都得到相同的结果。那么使用lambda "default (
lambda: None
)"进行初始化的主要原因是什么?看起来defaultdict
字典并不在乎传入的参数类型是什么。