- 1 import collections
- 2
- 3dic = collections.defaultdict(list)#其值就是list
- 4dic['k1'].append('alex')
- 5 print(dic)#defaultdict(<class 'list'>, {'k1': ['alex']})
- 6
- 7
- 8 #有如下值集合
- 9 #[11,22,33,44,55,66,77,88,99,90]
- 10 #将所有 大于66的值保存到字典的第一个key中,
- 11 # 将小于66的值保存到第二个key的值中。
- 12 #即:{'k1':大于66,'k2':小于等于66}
- 13 #目的:{'k1':[66,77,88,99,90],'k2':[11,22,33,44,55]}
- 14
- 15 #第一种方法:
- 16dic = {}
- 17all_list = [11,22,33,44,55,66,77,88,99,90]
- 18 foriin all_list:
- 19 ifi > 66:
- 20 if 'k1' in dic.keys():
- 21dic['k1'].append(i)
- 22 else:
- 23dic['k1'] = [i, ]
- 24 else:
- 25 if 'k2' in dic.keys():
- 26dic['k2'].append(i)
- 27 else:
- 28dic['k2'] = [i, ]
- 29
- 30 #对比一下,即使我们不用初始化进去一个列表
- 31 #改进如下
- 32dic = collections.defaultdict(list)
- 33all_list = [11,22,33,44,55,66,77,88,99,90]
- 34 foriin all_list:
- 35 ifi > 66:
- 36dic['k1'].append(i)
- 37 else:
- 38dic['k2'].append(i)
来源: http://www.bubuko.com/infodetail-1967312.html