如何在一行中打印列表元素?

新手上路,请多包涵

我需要打印排序的整数列表,但它应该在一行中并且没有列表方括号并且最后没有任何’\n’……

 import random
n = int(input(""))
l=[]
for i in range(n):
    x = int(input())
    l.append(x)
not_sorted = True
while not_sorted:
    x = random.randint(0,n-1)
    y = random.randint(0,n-1)
    while x==y:
        y = random.randint(0,n-1)
    if x>y:
        if l[x]<l[y]:
            (l[x],l[y])=(l[y],l[x])
    if x<y:
        if l[x]>l[y]:
            (l[x],l[y])=(l[y],l[x])
    for i in range(0,n-1):
        if l[i]>l[i+1]:
            break
    else:
       not_sorted = False
for i in range(n):
    print(l[i])

输出应该是这样的::: 1 2 3 4 5 而不是这样的::: [1,2,3,4,5]

原文由 Hououin Kyouma 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 683
2 个回答

您可以使用 * 将列表解压缩为 print --- 它将自动用空格分隔

print(*l)

如果你想要一个逗号,使用 sep= 参数

print(*l, sep=', ')

原文由 FHTMitchell 发布,翻译遵循 CC BY-SA 4.0 许可协议

利用

for i in range(n):
    print(l[i], end=' ')

或者

print(*l, end=' ')

原文由 Sreeram TP 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题