Python 元组中存储的元素的总和
给定一个包含一组整数元素的元组,如何找到所有元素的和 例如,如果我有一个元组列表:Python 元组中存储的元素的总和,python,python-2.7,Python,Python 2.7,给定一个包含一组整数元素的元组,如何找到所有元素的和 例如,如果我有一个元组列表: li = [(1, 2), (1, 3), (2, 3)] 我怎样才能得到这样的东西: [3, 4, 5] 其中3、4和5分别是三个元组中每个元组的总和?您可以这样使用和运行 >>> li = [(1, 2), (1, 3), (2, 3)] >>> map(sum, li) [3, 4, 5] >>> [sum(tup) for tup in li]
li = [(1, 2), (1, 3), (2, 3)]
我怎样才能得到这样的东西:
[3, 4, 5]
其中3、4和5分别是三个元组中每个元组的总和?您可以这样使用和运行
>>> li = [(1, 2), (1, 3), (2, 3)]
>>> map(sum, li)
[3, 4, 5]
>>> [sum(tup) for tup in li]
[3, 4, 5]
或者,你也可以像这样使用
>>> li = [(1, 2), (1, 3), (2, 3)]
>>> map(sum, li)
[3, 4, 5]
>>> [sum(tup) for tup in li]
[3, 4, 5]
注意:我个人更喜欢列表理解版本,因为Python 3.x中的函数将返回一个iterablemap
对象,该对象需要显式转换为列表,如下所示list(map(sum,li))
>li=[(1,2)、(1,3)、(2,3)]
>>>地图(总和,李)
>>>类型(映射(总和,li))
>>>列表(地图(总和,li))
[3, 4, 5]
但是列表理解将给出Python 2.x和Python 3.x中的列表。您可以使用
初学者:
for
循环迭代给定列表中的每个项目>>> li = [(1, 2), (1, 3), (2, 3)] # Given Input
>>> result = [] # Step 1
>>> for i in li: # Step 2
... tmp_sum = 0 # Step 3
... for j in i: # Step 3
... tmp_sum += j # Step 4
... result.append(tmp_sum) # Step 5
...
>>> print result
[3, 4, 5]
以下两种解决方案都有效
li=[(1,2)、(1,3)、(2,3)]
打印([以li表示的i的总和(i)])
或
def sumtupleinlist(lst):
返回值[第一次交易中i的总和(i)]
li=[(1,2)、(1,3)、(2,3)]
要测试该功能,请运行:
打印(sumtupleinlist(li))
制作一个包含元组的列表-
tup = [(1,2),(3,4),(5,6)]
for (a,b) in tup:
print(a+b)
这会给你-
3
7
11
你将如何处理这个问题?是否有任何代码可以显示您的尝试?这是我在一起使用“map”和“sum”函数时遇到的错误:TypeError:“int”对象不是callable@ManasChaturvedi请编辑您尝试的实际代码,回溯也将有助于调试问题。我尝试了2个熊猫形状(2个项目元组)总之,错误是TypeError:“list”对象是不可调用的,而此代码可能会回答此问题,提供有关如何和/或为什么解决此问题的附加上下文将提高答案的长期价值。
3
7
11