2024-04-20 05:09:19 发布
网友
我有点搞不懂为什么需要一个lambda函数来嵌套defaultdict
你为什么不能这样做?在
test = defaultdict(defaultdict(list))
而不是
因为defaultdict要求您给它一些可以被称为的东西来为丢失的值创建键。list是这样一个可调用的,但是{}不是。它是一个defaultdict实例,不能调用defaultdict。在
defaultdict
list
lambda是一个函数,当调用该函数时,返回一个可以在字典中使用的值,因此它可以工作。在
lambda
实际上,defaultdict(list)将在实例化defaultdict之前计算,并且您希望延迟直到遇到丢失的键。这就是这里使用可调用对象(类型或函数)的原因。在
defaultdict(list)
因为}不是。它是一个
defaultdict
要求您给它一些可以被称为的东西来为丢失的值创建键。list
是这样一个可调用的,但是{defaultdict
实例,不能调用defaultdict
。在lambda
是一个函数,当调用该函数时,返回一个可以在字典中使用的值,因此它可以工作。在实际上,
defaultdict(list)
将在实例化defaultdict
之前计算,并且您希望延迟直到遇到丢失的键。这就是这里使用可调用对象(类型或函数)的原因。在相关问题 更多 >
编程相关推荐