python defaultdict 妙用二维字典
【摘要】 Python中的defaultdict是一个非常有用的数据结构,它可以让我们在字典中使用默认值,而不必担心键不存在的情况。如果键不存在,defaultdict会自动创建一个默认值。下面是一个简单的例子:from collections import defaultdictd = defaultdict(int)d['a'] += 1d['b'] += 2d['c'] += 3print(d)...
Python中的defaultdict
是一个非常有用的数据结构,它可以让我们在字典中使用默认值,而不必担心键不存在的情况。如果键不存在,defaultdict
会自动创建一个默认值。
下面是一个简单的例子:
from collections import defaultdict
d = defaultdict(int)
d['a'] += 1
d['b'] += 2
d['c'] += 3
print(d) # defaultdict(<class 'int'>, {'a': 1, 'b': 2, 'c': 3})
在上面的例子中,我们创建了一个defaultdict
,并将其默认值设置为int
类型的0。然后我们向字典中添加了三个键值对,每个键对应的值都加上了一个不同的数值。最后,我们打印了这个字典,可以看到它的输出与普通字典的输出相同。
如果我们想要创建一个二维字典,可以使用defaultdict
的嵌套。下面是一个例子:
from collections import defaultdict
d = defaultdict(lambda: defaultdict(int))
d['a']['b'] += 1
d['a']['c'] += 2
d['b']['c'] += 3
print(d) # defaultdict(<function <lambda> at 0x11111111111>, {'a': defaultdict(<class 'int'>, {'b': 1, 'c': 2}), 'b': defaultdict(<class 'int'>, {'c': 3})})
在上面的例子中,我们创建了一个嵌套的defaultdict
,并将其默认值设置为int
类型的0。然后我们向字典中添加了三个键值对,每个键都是一个二元组,第一个元素是外层字典的键,第二个元素是内层字典的键。最后,我们打印了这个字典,可以看到它的输出是一个嵌套的字典结构。
【版权声明】本文为华为云社区用户翻译文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,
举报邮箱:cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)