Python-从python中的列表中删除逗号和方括号-插入排序

我已经获得了插入排序的输出,但是 (' '.join(str(arr))) 函数没有从列表中删除逗号和方括号。任何删除括号和逗号的建议都会有所帮助

代码:

def insertionSort1(n,arr):
for i in range(1,len(arr)):
    temp=arr[i]
    k=i
    while k>0 and temp<arr[k-1]:
        if(temp<arr[k-1]):
            arr[k]=arr[k-1]
            k-=1
            arr[k]=arr[k+1]
            sortedarr=''.join(str(arr))
            print(sortedarr) 
          
        if(temp>arr[k-1]):
            arr[k]=temp
            sortedarr=(''.join(str(arr)))
            print(sortedarr)      

if __name__ == '__main__':
n = int(input().strip())

arr = list(map(int,input().rstrip().split()))

insertionSort1(n,arr)

输入:

5
2 4 6 8 3

预期输出:

2 4 6 8 8
2 4 6 6 8
2 4 4 6 8
2 3 4 6 8

实际输出:

[2,4,6,8,8]
[2,3,8]
kyoaguai 回答:Python-从python中的列表中删除逗号和方括号-插入排序

代替 join() ,您可以像这样直接打印以空格分隔的列表项

lst = [1,2,4,8]
print(*lst)
1 2 4 8

在您的代码中删除该 join() 语句并使用

print(*sortedarr)

你得到逗号和方括号的原因是因为你将整个列表转换为字符串并使用join而不是将列表的项目转换为字符串并加入 .

例如:

arr = list(range(6))

print(''.join(str(arr)))
arr = [str(i) for i in arr]
print(' '.join(arr))
Output

[0,1,3,5]
0 1 2 3 4 5
本文链接:https://www.f2er.com/2117.html

大家都在问