在嵌套列表中使用python 3.2是两列输入数据:中的物种代码和1中的观察值,以及每行中两个额外的计算值列2和3,例如:
sorted_trees=[
['ACRU', 5, 1, 10],
['ACRU', 6, 2, 11],
['QURU', 7, 3, 12],
['QURU', 8, 4, 13]]我需要,并(在帮助下)通过以下方式获得每个物种代码的2和3小计:
import itertools as it, operator as op
for k,g in it.groupby(sorted_trees, key=op.itemgetter(0)):
tempg=list(g)
print(k, sum(i[2] for i in tempg), sum(i[3] for i in tempg))现在,我需要创建另一个列表,称为summary_trees,其中只包含这些值,这样我就可以在其他地方使用它。在此示例中,它将是:
summary_trees=[[ACRU, 3, 21],[QURU, 7, 25]]这看起来应该很简单,看不出来我觉得很傻。在现实生活中,物种代码的数量是不确定的,通常在4-8之间
发布于 2013-05-22 05:24:02
这看起来就像用你的打印输出建立一个列表一样简单…
import itertools as it, operator as op
summary_trees = []
for k,g in it.groupby(sorted_trees, key=op.itemgetter(0))
tempg=list(g)
summary_trees.append([k, sum(i[2] for i in tempg), sum(i[3] for i in tempg)])https://stackoverflow.com/questions/16679662
复制相似问题