python collections-defaultdict
字典 list int set dict
数据分析中经常使用到的python-collections-defaultdict,极大提高了数据处理工作效率。
from collections import defaultdict
# 默认int,初始化为0
labelCountDict = defaultdict(int)
for data in dataSet:
labelCountDict[data[-1]] += 1
# 默认为list
app_static_hrd = defaultdict(list)
app_static_hrd[app].append(count)
app_static_hrd[app].append(time)
d=defaultdict(list)
d['a'].append(1)
d['a'].append(2)
d['b'].append(4)
结果:defaultdict(<class 'list'>, {'a': [1, 2], 'b': [4]})
# 默认为字典
app_statis_dict = defaultdict(dict)
app_tmp_dict = defaultdict(list)
if app not in app_statis_dict:
app_tmp_dict[appkey].append(count)
app_tmp_dict[appkey].append(time)
else:
app_tmp_dict = app_statis_dict[app]
if appkey not in app_tmp_dict:
app_tmp_dict[appkey].append(count)
app_tmp_dict[appkey].append(time)
else:
app_tmp_dict[appkey][0] += count
app_tmp_dict[appkey][1] += time
app_statis_dict[app] = app_tmp_dict
# 默认为set
from collections import defaultdict
d=defaultdict(set)
d['a'].add(1)
d['a'].add(2)
d['a'].add(2)
d['b'].add(5)
print(d)
结果:defaultdict(<class 'set'>, {'b': {5}, 'a': {1, 2}})