我从MySQLdb提取了一些元组,如下所示:
((2L, 0.904672), (2L, 0.816745), (2L, 1.07916), (31L, 0.874432), (31L, 1.13517), (31L, 0.737347), (11L, 0.507236), (11L, 0.946989), (11L, 0.816373).....)
有一些重复的值,例如
2L
,31L
和11L
。我想将值用作我的字典的键我想问的是如何将这些元组转换为具有基于键的数组值的字典?
所以我想做的是这样的:
{'2L':[0.904672,0.816745,1.07916], '31L':[0.874432,1.13517,0.737347],'11L':[0.507236,0.946989,0.816373],..........}
任何帮助,将不胜感激 :)
最佳答案
不导入任何内容,您可以执行以下操作:
data=(('2L', 0.904672), ('2L', 0.816745), ('2L', 1.07916), ('31L', 0.874432))
out={}
for k,v in data:
out.setdefault(k,[]).append(v)
如果
k
中不存在out
,则创建k:[]
,否则将v
附加到out[k]
。输出:
{'31L': [0.874432], '2L': [0.904672, 0.816745, 1.07916]}