def sortingStoL(lst):
for i in range(len(lst)):
for item in lst[i + 1:]:
if item < lst[i]:
print(item, lst[i])
lst[i], item = item, lst[i]
print(lst)
return lst
a_list = [5, 4, 3, 2]
print(sortingStoL(a_list))
我很难找出如何修复此代码。
我试图从小到大对a_list
中的元素进行排序,但得到的结果是这样的
4 5
[4, 4, 3, 2]
3 4
[3, 4, 3, 2]
2 3
[2, 4, 3, 2]
3 4
[2, 3, 3, 2]
2 3
[2, 2, 3, 2]
2 3
[2, 2, 2, 2]
[2, 2, 2, 2]
看起来像是排队的
lst[i], item = item, lst[i]
有一个问题,因为它不能正确地交换两个元素,而只是用小元素覆盖较大的元素
因为您正在交换(修改列表的内容),所以还需要在内部循环中使用索引
相关问题 更多 >
编程相关推荐