我有
symall={}
for fc in range(0,4):
LoadGraphData(files[fc])
for tup in mn.symsel:
sb,sp,sr,sc,sv,sn = tup
symall{sb} = symall{sb}+sr
fc循环从文件中获取数据并将结果放入mn.symsel中
作为['abc',2,300,2,3,2]
,['def',3,400,3,2,3]
等
我选择键'abc'和第二个值
我需要建立一个像
symall{} = {['abc', 300,370,400,200,300],['def',400,.....
第一次迭代应该只将['abc',300]
添加到词典中
第二次迭代需要通过键'abc'追加才能获得['abc',300,370]
等。
答案 0 :(得分:0)
Python 3.5
PyCharm IDE
这是一段更完整的代码
如果有更好的方式,那将是有趣的。
from collections import defaultdict
import selectval as mn
for fc in range(0,4):
LoadRangeData(files[fc]) # gets [('ABCD',23.2),('DEFI',34.2)...
for tup in mn.symsel:
symin,sympr = tup
symall += [(symin,sympr)] # makes [('ABCD',23.2),('ABCD',33.2')
allsym = defaultdict(list)
for s,v in symall:
allsym[s].append(v) # makes [('ABCD',23.2,33.2),...
效果很好