Значения вашего списка (L
) меняются , пока вы зацикливаетесь, поэтому у вас нет доступа к значениям 1
, 2
, 3
и т. Д., Нодовольно разные значения.
Если разбить каждую итерацию, она может стать более понятной
Первая итерация: i = 1
(первое значение в L
), L
, индекс обновлений 1
должно быть 2 (поэтому без изменений):
L = [1, <strong>2</strong>, 3, 4, 5]
Вторая итерация: i = 2
(второе значение в L
), L
обновляет индекс 2
до 2:
L = [1, 2, <strong>2</strong>, 4, 5]
Третья итерация: i = 2
(теперь третье значение в L
), L
обновляет индекс 2
до 2 (поэтому без изменений):
L = [1, 2, <strong>2</strong>, 4, 5]
Четвертыйитерация: i = 4
(четвертое значение в L
), L
обновляет индекс 4
до 2:
L = [1, 2, 2, 4, <strong>2</strong>]
Fith / Last Iteration:
i = 4
(новое значение fith в L
), L
обновляет индекс 4
до 2 (поэтому никаких изменений):
L = [1, 2, 2, 4, <strong>2</strong>]
Таким образом, ваш результирующий список выглядит следующим образом:
[1, 2, 2, 4, 2]