使用 python 3.2 在嵌套列表中有两列输入数据:[0] 中的物种代码和 [1] 中的观察值以及从每一行计算值的另外两列 [2] 和 [3],用于例子:
sorted_trees=[
['ACRU', 5, 1, 10],
['ACRU', 6, 2, 11],
['QURU', 7, 3, 12],
['QURU', 8, 4, 13]]
我需要,并且(在帮助下)通过以下方式获得了每个物种代码 [0] 的 [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 之间