在新行上打印列表元素

Kun*_*yas 6 python list python-2.7

我希望打印数组的元素,不带逗号,并在不同的行上.我正在编写插入排序函数.虽然它工作正常,但我发现正确打印它们很棘手.我写的代码是:

#!/bin/python
def insertionSort(ar):    
    newNo = ar[-1]
    for i in range(0, m-1):
        if(newNo < ar[m-i-1]):
            ar[m-i] = ar[m-i-1]
            for e in ar:
                print e,
            print '\n'
    ar[m-i-1] = newNo
    for f in ar: print f,

m = input()
ar = [int(i) for i in raw_input().strip().split()]
insertionSort(ar)
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

2 4 6 8 8 

2 4 6 6 8 

2 4 4 6 8 

2 3 4 6 8
Run Code Online (Sandbox Code Playgroud)

我应该得到以下输出代码来传递测试用例:

2 4 6 8 8
2 4 6 6 8
2 4 4 6 8
2 3 4 6 8
Run Code Online (Sandbox Code Playgroud)

即没有线之间的额外空间.单击此处查看详细的问题陈述.

Bha*_*Rao 5

print 语句会自动附加一个新行,因此如果您使用

print '\n'
Run Code Online (Sandbox Code Playgroud)

你会得到两条新线.因此,您可以使用空字符串,print ''或者更好的方法是单独使用print:

print
Run Code Online (Sandbox Code Playgroud)

  • `print`本身很好...... :) (3认同)