我的应用程序说参数必须是可调用的还是没有类型?我非常确定这是你用defaultdict作为其值来实例化defaultdict的方式。
dict = defaultdict(defaultdict(set))
答案 0 :(得分:3)
提供给defaultdict
构造函数的参数必须是零参数可调用的(请参阅docs),因此defaultdict(defaultdict)
确实有效,但defaultdict(defaultdict(set))
没有。你可以“欺骗”一点:
d = defaultdict(lambda: defaultdict(set))
这样你就可以lambda
函数的形式提供一个零参数可调用函数,而这个函数在调用时会返回你想要的相应默认值。
答案 1 :(得分:1)
您需要为defaultdict
构造函数提供函数,但defauldict(set)
是defaultdict
对象。如果您要构建值为defaultdict
的{{1}},则可以使用lambdas:
defaultdicts