Я пытаюсь сделать пользовательскую сортированную функцию для целых чисел и чисел с плавающей точкой. В этом коде я сначала удалил дубликаты, а затем попытался использовать функцию pop, чтобы извлечь минимальное число из списка и добавить его в пустой список, чтобы каждое число было в правильном порядке. Тем не менее, когда я пытаюсь извлечь минимальное число из «aList», я получаю следующий результат:
line 15, in <module>
sortedList.append(delDupes.pop(delDupes[test]))
IndexError: pop index out of range
, но если я заменю эту строку выше на sortedList.append (test), то я Я получаю эту ошибку:
line 14, in <module>
test = delDupes.index(min(delDupes))
ValueError: min() arg is an empty sequence
Вот как выглядит код:
aList = [30, 30, 30, 20, 20, 20, 25, 25, 25, 10, 10, 10, 50, 50, 50]
delDupes = []
sortedList = []
for i in aList:
if i not in delDupes:
delDupes.append(i)
adLoop = True
while adLoop:
test = delDupes.index(min(delDupes))
sortedList.append(delDupes.pop(delDupes[test]))
if len(sortedList) != delDupes:
adLoop = True
else:
adLoop = False
print(sortedList)
Я использую в то время как l oop, так что, как только выскочит минимальное число, l oop должен начаться снова и вытолкнуть следующее минимальное число, пока длина sortedList не станет такой же, как исходная длина delDupes