для l oop мы используем любую локальную переменную, что если мы используем любое число, присутствующее в списке? - PullRequest
0 голосов
/ 03 февраля 2020

В for-l oop мы используем любую локальную переменную, что если мы используем любое число в списке? Получается, что для следующего кода:

a = [1,2,3,4,5,6] 
b = []
for a[-1] in a:
    b.append(a[-1])
print(b)

Вывод:

[1, 2, 3, 4, 5, 5]

Что сделал этот код? Это законно в python?

1 Ответ

1 голос
/ 03 февраля 2020

Очевидно, что вышеприведенное (в соответствии с документацией ) эквивалентно:

for ii in range(len(a)): 
    a[-1] = a[ii]
    b.append(a[-1])

print(b)

, т. Е. Каждый элемент в свою очередь назначается последнему элементу в массиве. В частности python принимает общую цель назначения, а не только идентификатор для итерации.

...