标签:
from collections import defaultdictcn = defaultdict(list)print cncn[‘abc‘].append(‘123‘)print cncn[‘abc‘].append(‘456‘)print cnbn = defaultdict(int)bn[‘abc‘]=1print bnbn[‘abc‘]+=1print bndefaultdict(<type ‘list‘>,{})defaultdict(<type ‘list‘>,{‘abc‘:[‘123‘]})defaultdict(<type ‘list‘>,{‘abc‘:[‘123‘,‘456‘]})defaultdict(<type ‘int‘>,{‘abc‘:1})defaultdict(<type ‘int‘>,{‘abc‘:2})默认词典的值即为list -> [] 或者 int -> 0 关键是能一次性设置所有的值,包括新值,速度很快。
cn ={}cn.setdefault(‘123‘,[]).append(‘123‘)print cncn.setdefault(‘123‘,[]).append(‘456‘)print cn{‘123‘:[‘123‘]}{‘123‘:[‘123‘,‘456‘]}一次只能设置一个值,并且运行速度没有defaultdict快
用法:dict.fromkeys(seq[, value])),value默认是None
说明:创建并返回一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值(默认为None)
test_list=[‘123‘,‘456‘,‘789‘]cn ={}.fromkeys(test_list,‘abc‘)print cn{‘123‘:‘abc‘,‘789‘:‘abc‘,‘456‘:‘abc‘}//TODO 为何以下代码返回为空词典??
test_list=[‘123‘,‘456‘,‘789‘]cn ={}cn.fromkeys(test_list,‘abc‘)print cn标签:
原文地址:http://www.cnblogs.com/assd2001/p/5914781.html