关于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}

 

posted on 2016-10-01 19:32  to_wind  阅读(291)  评论(0编辑  收藏  举报

导航