关于python的defaultdict

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于python的defaultdict相关的知识,希望对你有一定的参考价值。

原文地址:http://www.cnblogs.com/herbert/archive/2013/01/09/2852843.html

作者首先看了看defaultdict的help解释,作者看了解释并且把英文翻译出来后,发现还是看不懂。

后面直接通过看示例看明白的。发现作者是挺风趣幽默的。

下面贴出,defaultdict() , setdefault和普通的 {} 代码

defaultdictsetdefault相比较,defaultdict的效率会高一些。

而普通的{}只能做赋值操作(因为你直接append操作的话你会找不到key)

import collections
s = [(yellow, 1), (blue, 2), (yellow, 3), (blue, 4), (red, 1)]

# defaultdict
d = collections.defaultdict(list)
for k, v in s:
    d[k].append(v)
# d结果为{‘blue‘: [2, 4], ‘red‘: [1], ‘yellow‘: [1, 3]
# Use dict and setdefault g = {} for k, v in s: g.setdefault(k, []).append(v) # g结果为{‘blue‘: [2, 4], ‘red‘: [1], ‘yellow‘: [1, 3]} # Use dict e = {} for k, v in s: e[k] = v
# e结果为 {‘blue‘: 4, ‘red‘: 1, ‘yellow‘: 3}

 

以上是关于关于python的defaultdict的主要内容,如果未能解决你的问题,请参考以下文章

了解 Python 中 defaultdict 的使用 [重复]

python 中的defaultdict 用法

python的defaultdict

python字典之defaultdict详解

python中的defaultdict和orderdict

在python中按值对defaultdict进行排序