Почему переназначение переменной цикла для списка, который я сжимаю, не меняет значение в списке?Python

Программы на Python
Ответить
Anonymous
 Почему переназначение переменной цикла для списка, который я сжимаю, не меняет значение в списке?

Сообщение Anonymous »

Я пытаюсь использовать цикл for, чтобы изменить значения в списке на основе значений из второго списка. Поэтому я подумал, что функция «zip» пригодится, однако я не получаю ожидаемого результата. См. пример здесь:

Код: Выделить всё

list_a = [0,0,0,0]
list_b = [1,2,3,4]

for a, b in zip(list_a, list_b):
a = b*2
Я думал, что это изменяет list_a, но это не так. Насколько я понимаю, внутри цикла «a» сначала было равно list_a[0], затем list_a[1] и т. д., другими словами, представлениям списка.
На самом деле у меня есть 2 вопроса:
a) что такое «a» и «b» внутри цикла, если они не являются представлениями двух списков?
b) существует ли питонический способ реализации этого цикла (т.е. нечто отличное от цикла по i в диапазоне(len(list_a))?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»