【问题标题】:How can I do the summatory of elements in a list of lists in python? [duplicate]python - 如何对python列表中的元素进行汇总? [复制]
【发布时间】:2012-12-24 13:00:40
【问题描述】:

可能重复:
sum each value in a list of tuples

我需要帮助解决这个问题,提前感谢您的合作。 我想得到这个:

result=[12,15,18]

来自

a= [[1,2,3],[4,5,6],[7,8,9]]

我正在尝试使用下面的代码,但如果内部列表可能是变量,我想找到一种通用形式来执行此操作。

lista=[[5, 7, 9], [8, 11, 13], [11, 13, 15]]

b2 = [lista [0][i]+ lista [1][i] + lista [2][i] for i in range(len(lista))]

print (b2) 

非常感谢。

【问题讨论】:

  • 这闻起来像家庭作业。
  • 非常感谢 Ashwini Chaudhary,这个问题被重复了,这个解释很完美,非常感谢你。
  • @user1965825 很高兴得到帮助。
  • 见鬼,列表理解也有效,但有点复杂。 [sum((a[i][j] for i in xrange(len(a)))) for j in xrange(len(a[0]))]

标签: python list iteration


【解决方案1】:
a= [[1,2,3],[4,5,6],[7,8,9]]
result = map(sum, zip(*a))
print result

【讨论】:

  • 在 python 3 中补充 Jun HU 的有用答案可能是:lista=[[1,2,3],[4,5,6],[7,8,9]] g= [] for i in map(sum, zip(*lista)): g.append(i) print (g) 谢谢,
【解决方案2】:

我会这样做:

# a is some list
b2 = [0]*len(a[0])
for x in a:
    for y in range(len(x)):
         b2[y] += x[y]
print(b2)

【讨论】:

  • 与基于zip() 的解决方案相比,这非常不符合pythonic。
猜你喜欢
  • 2014-02-03
  • 1970-01-01
  • 1970-01-01
  • 2022-12-11
  • 1970-01-01
  • 2013-07-07
  • 1970-01-01
  • 1970-01-01
  • 2015-11-16
相关资源
最近更新 更多