所以我有:
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,
那么这可能吗?
这里有几个选项:
使用元组解包和生成器:
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))
s = (4,8,9), (1,2,3), (4,5,6)
print tuple([sum(x) for x in s])
print
总是打印一个新行。如果要打印一行,则需要一次打印所有内容。
在你的循环中,创建一个字符串,然后打印它。或者,根据您希望它的格式,您还可以创建一个元组(用圆括号表示,就像您一样)。
顺便说一句,如果你想添加一个列表的成员,你可以使用sum
:
e = sum(k)
此外,s
已经是一个元组,您不需要枚举它 - 您可以使用以下命令循环它:
for k in s:
e = sum(k)
现在,继续把它们放在一起。
>>> 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 并最终将其打印出来。