1. 一键多值
在生成字典时,有时会遇到一键多值的情况,如:{key1:[value1,value2,value3...],key2:[value4,value5,...]},采用defaultdict完成构建。
>>> from collections import defaultdict
>>> a=[1,2,3,4,1]
>>> b=[[22,33],[33,21],[54,32],[5656,33],[92,73]]
>>> d=defaultdict(list)
>>> for key,value in zip(a,b):
d[key].append(value)
>>> d
defaultdict(<class 'list'>, {1: [[22, 33], [92, 73]], 2: [[33, 21]], 3: [[54, 32]], 4: [[5656, 33]]})
2.值排序
在字典进行循环排序,按照值的第一个元素的大小逆序排列
>>> for key,value in d.items():
d[key].sort(key=(lambda x:x[0]),reverse=True)
>>> d
defaultdict(<class 'list'>, {1: [[92, 73], [22, 33]], 2: [[33, 21]], 3: [[54, 32]], 4: [[5656, 33]]})