添加列表中的元素

时间:2017-12-07 09:08:21

标签: python

我有一个名为p的列表。它包含一些像这样的元素。

p = [['mon', '1006'], ['mon', '769']]. 

我想添加(1006 + 769)之类的值并打印总和。我怎么能这样做?

5 个答案:

答案 0 :(得分:1)

您可以使用列表推导轻松完成此操作,_是一个抛弃变量,您只需使用解包列表项中的第二个元素n

p = [['mon', '1006'], ['mon', '769']]
print sum(int(n) for _, n in p)
>1775

答案 1 :(得分:1)

这是一个非常基本的问题,所以你应该完成Python tutorial。此外,在不尝试任何事情的情况下寻求解决方案不会教你Python。

这是您可以提出的最直接,最天真的方法:

>>> p = [['mon', '1006'], ['mon', '769']]
>>> total = 0
>>> 
>>> for sublist in p:
...     value = sublist[1]
...     value_as_int = int(value)
...     total = total + value_as_int
... 
>>> print(total)
1775

这只是一个for循环,基本求和并索引到列表中。 我现在饶了你们这位发烧友,我相信其他答案会告诉你那些。

答案 2 :(得分:0)

这应该会给你一个想法。

p = [['mon', '1006'], ['mon', '769']]
sum = 0
for x in p:
    sum += int(x[1])
print sum

执行命令

$ python 2.py
1775

答案 3 :(得分:0)

如果您想要总结列表中元素的第二个值,请尝试以下操作:

print(sum([int(element[1]) for element in p]))

答案 4 :(得分:0)

您可以使用reduce

l = [['mon', '1006'], ['mon', '769']]
print reduce(lambda item1, item2: int(item1[1])+int(item2[1]), l)

#output 1775