Проблема с методом pop()

ixxa

Новичок
Пользователь
Мар 8, 2023
1
0
1
Выдает IndexError: pop from empty list ,не понимаю почему.
Python:
def sort_array(source_array):
    pos = []
    odds = []
    sort_evens = []
    for i in source_array:
        if i % 2 == 0:
            pos += '0'
        else:
            pos += '1'

    for n in source_array:
        if n % 2 == 0:
            odds += str(n)
        else:
            sort_evens += str(n)
    sort_evens = sorted(sort_evens)

    num = []

    for x in pos:
        if x == 0:
            num.append(odds.pop(0))
        else:
            num.append(sort_evens.pop(0))

print(sort_array([5, 3, 2, 8, 1, 4]))
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 589
459
83
потому что в pos больше элементов, чем в sort_evens
 

Форум IT Специалистов