【发布时间】:2016-07-14 17:59:58
【问题描述】:
我是 Python 的初学者,正在尝试用该语言实现插入排序。但是,当我在列表上尝试我的代码进行排序时,我会得到相同的列表。我发现代码甚至没有进入第二个循环。我正在使用 Python 3。以这种方式向后迭代有什么问题?
def ins_sort(us_in):
tmp = None
for key in range(1, len(us_in)-1):
for i in range(key, 0, -1):
if us_in[key] < us_in[i] and key != 0:
tmp = us_in[key]
us_in[key] = us_in[i]
us_in[i] = tmp
return us_in
print(ins_sort([5,2,4,6,1,3]))
结果:
[5,2,4,1,6,3]
【问题讨论】:
-
修复缩进后,我在第二个循环中放置了一个打印语句,它按预期执行(我已经用固定缩进更新了你的问题)。您的迭代器没有问题。
标签: python python-3.x insertion-sort