最近在做spark教程中的lab3时,发现教程中有个语句使用了defaultdict(lambda: None)
创建字典,那么defaultdict()与{}有什么区别呢
defaultdict
众所周知,在字典中访问不存在的键时,将会报错
sample_one = [(0, 'mouse'), (1, 'black')]
a = {}
a.update(sample_one)
a[i] for i in range(3)
KeyError: 2
这是由于sample中没有键2,这时使用defaultdict()就可以避免报错
sample_one = [(0,