21

我有这样的结构:

structure = [('a', 1), ('b', 3), ('c', 2)]

我想1+3+2使用sum()内置方法(在一行中)对整数()求和。

有任何想法吗?

4

4 回答 4

36
sum(n for _, n in structure)

会工作。

于 2012-08-31T15:11:06.587 回答
19
sum(x[1] for x in structure)

应该管用

于 2012-08-31T15:11:10.710 回答
2

你可以做

sum(zip(*structure)[1])
于 2012-08-31T15:13:02.107 回答
2

使用功能风格,你可以做

reduce(lambda x,y:x+y[1], structure,0)
于 2012-08-31T15:26:14.007 回答