所以我有:
s = (4,8,9), (1,2,3), (4,5,6)
for i, (a,b,c) in enumerate(s):
k = [a,b,c]
e = k[0]+k[1]+k[2]
print e
它会打印出来:
21
6
15
但我希望它是:
(21,6,15)
我尝试过使用它,但这不是我想要的:
print i,
这可能吗?
答案 0 :(得分:9)
以下是一些选项:
使用元组解包和生成器:
print tuple(a+b+c for a, b, c in s)
使用sum()
和生成器:
print tuple(sum(t) for t in s)
使用map()
:
print tuple(map(sum, s))
答案 1 :(得分:1)
s = (4,8,9), (1,2,3), (4,5,6)
print tuple([sum(x) for x in s])
答案 2 :(得分:0)
print
始终打印一个新行。如果要打印一行,则需要一次打印。
在循环中,创建一个字符串,并打印出来。或者,根据您希望如何格式化,您还可以创建一个元组(用圆括号表示,如您所示)。
顺便提一下,如果您想添加列表成员,可以使用sum
:
e = sum(k)
此外,s
已经是一个元组,你不需要枚举它 - 你可以用它来循环它:
for k in s:
e = sum(k)
现在,继续把它们放在一起。
答案 3 :(得分:0)
>>> l = []
>>> for i, (a,b,c) in enumerate(s):
... k = [a,b,c]
... e = k[0]+k[1]+k[2]
... l.append(e)
...
>>> print l
[21, 6, 15]
我希望这会有所帮助。您将列表k的总和追加到列表l并最终打印出来。