为什么需要lambda来嵌套defaultdict?

2024-04-20 05:09:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有点搞不懂为什么需要一个lambda函数来嵌套defaultdict

你为什么不能这样做?在

test = defaultdict(defaultdict(list))

而不是

^{pr2}$

Tags: lambda函数testlistdefaultdictpr2
1条回答
网友
1楼 · 发布于 2024-04-20 05:09:19
test = defaultdict(defaultdict(list))

因为defaultdict要求您给它一些可以被称为的东西来为丢失的值创建键。list是这样一个可调用的,但是{}不是。它是一个defaultdict实例,不能调用defaultdict。在

lambda是一个函数,当调用该函数时,返回一个可以在字典中使用的值,因此它可以工作。在

实际上,defaultdict(list)将在实例化defaultdict之前计算,并且您希望延迟直到遇到丢失的键。这就是这里使用可调用对象(类型或函数)的原因。在

相关问题 更多 >