如何将for循环打印为lis

2024-04-18 20:27:28 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有:

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,

那么这有可能吗?你知道吗


Tags: inforprintenumerate
3条回答

print总是打印新行。如果你想打印一行,你需要一次打印全部内容。你知道吗

在循环中,创建一个字符串,然后打印出来。或者,根据您想要的格式,您还可以创建一个元组(如您所见,它用圆括号表示)。你知道吗

顺便说一下,如果要添加列表的成员,可以使用sum

e = sum(k)

另外,s已经是一个元组了,您不需要枚举它-您可以使用以下命令循环它:

for k in s:
    e = sum(k)

现在,把这些都放在一起。你知道吗

s = (4,8,9), (1,2,3), (4,5,6)
print tuple([sum(x) for x in s])

以下是一些选项:

  • 使用元组解包和生成器:

    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))
    

相关问题 更多 >