You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python插入排序实现中如何去除输出列表的逗号与方括号

问题原因

你调用str(arr)时会直接将整个列表转为带方括号、逗号的字符串格式(比如[2, 4, 6, 8, 8]),此时再执行join只会遍历这个字符串的单个字符做拼接,无法实现按列表元素拼接的需求。

解决方案

你需要先将列表中每个数值元素单独转为字符串类型,再用空格作为分隔符执行join操作,正确写法为:

' '.join(map(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]:
            arr[k] = arr[k-1]
            k -= 1
            # 移动元素后打印当前数组
            print(' '.join(map(str, arr)))
        # 找到插入位置后赋值
        arr[k] = temp
    # 打印最终排序完成的数组,不需要可删除
    print(' '.join(map(str, arr)))

if __name__ == '__main__':
    n = int(input().strip())
    arr = list(map(int, input().rstrip().split()))
    insertionSort1(n, arr)

使用你提供的输入示例运行以上代码,即可得到完全符合预期的空格分隔数值输出。

内容的提问来源于stack exchange,提问作者Hemananth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 08:39:00