我有一个名为p
的列表。它包含一些像这样的元素。
p = [['mon', '1006'], ['mon', '769']].
我想添加(1006 + 769)
之类的值并打印总和。我怎么能这样做?
答案 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