首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成值为defaultdict的defaultdict

生成值为defaultdict的defaultdict
EN

Stack Overflow用户
提问于 2016-04-10 11:44:35
回答 2查看 181关注 0票数 2

我的应用程序要求参数必须是可调用类型或无类型,这有什么特殊的原因吗?我很确定这就是你用defaultdict作为它的值来实例化defaultdict的方法。

代码语言:javascript
复制
dict = defaultdict(defaultdict(set))
EN

回答 2

Stack Overflow用户

发布于 2016-04-10 11:49:50

提供给defaultdict构造函数的参数必须是可调用的零参数(参见docs),因此defaultdict(defaultdict)可以工作,但defaultdict(defaultdict(set))不能。不过,你可以“作弊”一下:

代码语言:javascript
复制
d = defaultdict(lambda: defaultdict(set))

这样,您可以以lambda函数的形式提供一个可调用的零参数,当调用该函数时,该函数将返回所需的适当默认值。

票数 3
EN

Stack Overflow用户

发布于 2016-04-10 11:50:11

您需要为defaultdict构造函数提供一个函数,但是defauldict(set)defaultdict对象。如果你想构建一个值为defaultdictsdefaultdict,你可以使用lambda:

代码语言:javascript
复制
from collections import defaultdict

dd = lambda: defaultdict(dd)
x = dd()
x['foo']['bar']['foobar'] = 1
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36525522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档