Я новичок в Python и пытаюсь реализовать сортировку вставки на языке. Однако, когда я пытаюсь выполнить мой код в списке, я получаю тот же список назад. Я понял, что код даже не подходит ко второму циклу. Я использую Python 3. Что не так с итерацией назад таким образом?Python3 вставка сортировка итерации назад не работает
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]
После исправления отступов я поставил оператор печати во втором цикле и выполнил его как ожидалось (я обновил ваш вопрос с фиксированным отступом). С вашим итератором нет проблемы. –