拉莫斯之舞
它不是某种类型推断,您只是提供一个生成默认值的函数。While int, list,dict没有参数 generate 0, [], {},这在 defaultdict 声明中经常被利用。Python 没有内置的构造函数用于列表对等。所以它很简单di = defaultdict(lambda : ([1,2,3], ['a', 'cb']))虽然 Python 允许列表元组(对),但您可能会遇到一些问题,例如列表元组的散列。为了安全起见,您可以将默认设置为两个列表的列表。请注意,您已将其设置为特定列表,无论是否为空,而不是列表类型/构造函数。它实际上是关于设置默认值而不是类型声明——python 列表是无类型的。from collections import defaultdictl1 = []l2 = ["another", "default", "list"]di = defaultdict(lambda : [ l1, l2] )print (di[3])