Я получаю ошибку индекса при попытке получить доступ к значениям из списка после удаления значений, находящихся внутри, для l oop. Как изменить значение диапазона в для l oop после каждой итерации? Сама функция состоит в том, чтобы принимать список в качестве входных данных и инвертировать список в новом списке, но только путем удаления элементов из одного списка в другой, чтобы список ввода заканчивался пустым.
def minsort(lst):
new_lst = list()
counter = 0
while len(lst) > counter:
smallest = lst[0]
for i in range(1, len(lst)):
if smallest > lst[i]:
smallest = lst[i]
new_lst.append(smallest)
lst.remove(smallest)
smallest = lst[0]
else:
new_lst.append(smallest)
lst.remove(smallest)
return new_lst
lst = [3,1,2]
print(minsort(lst))
Ошибка, которую я получаю:
if smallest > lst[i]:
IndexError: list index out of range
Редактировать: я делаю это без каких-либо встроенных функций, таких как sorted ()