Алгоритм работы кода Python

Объясните пожалуйста алгоритм работы данного кода:

a = [0,1,2,3]
for a[2] in a:
    print(a[3])

На выходе получается:

3
3
3
3

Ответы (2 шт):

Автор решения: n1tr0xs
  1. Создали список чисел. a = [0,1,2,3]
  2. Вывели четвертое число из списка столько раз, сколько элементов в списке.
  3. На каждой итерации значение третьего элемента списка меняется, в конечном итоге третий элемент списка будет равен четвертому элементу списка.

Но по-моему код какой-то странный.

→ Ссылка
Автор решения: CrazyElf

Алгоритм простой. Этот цикл развёртывается в такой линейный код:

a = [0,1,2,3]
a[2] = a[0]
# a = [0,1,0,3]
print(a[3])
a[2] = a[1]
# a = [0,1,1,3]
print(a[3])
a[2] = a[2]
# a = [0,1,1,3]
print(a[3])
a[2] = a[3]
# a = [0,1,3,3]
print(a[3])

Вообще цикл странный, непонятно, зачем заменять элемент списка a[2], если он никак не используется.

→ Ссылка