加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

更多嵌套Python嵌套字典

发布时间:2020-12-20 12:39:27 所属栏目:Python 来源:网络整理
导读:阅读 What is the best way to implement nested dictionaries?后,为什么这样做是错误的: c = collections.defaultdict(collections.defaultdict(int)) 在python?我认为这可以产生 {key:{key:1}} 或者我在想错了? 解决方法 defaultdict的构造函数需要一个
阅读 What is the best way to implement nested dictionaries?后,为什么这样做是错误的:

c = collections.defaultdict(collections.defaultdict(int))

在python?我认为这可以产生

{key:{key:1}}

或者我在想错了?

解决方法

defaultdict的构造函数需要一个可调用的. defaultdict(int)是一个默认的字典对象,而不是可调用的.然而,使用lambda它可以工作:

c = collections.defaultdict(lambda: collections.defaultdict(int))

这是有效的,因为我传递给外部defaultdict的是一个可调用的,在调用时创建一个新的defaultdict.

这是一个例子:

>>> import collections
>>> c = collections.defaultdict(lambda: collections.defaultdict(int))
>>> c[5][6] += 1
>>> c[5][6]
1
>>> c[0][0]
0
>>>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读