Вот несколько списков: a, b и т. Д. Я хочу внести их некоторые изменения соответственно, но меня путают с поведением цикла for.в python Какова связь между переменной цикла и элементами в списке, когда мы делаем для цикла?
, например: если мы
a, b = range(5), range(5,10)
for x in [a, b]: x += [0]
print(a,b)
мы получаем
([0, 1, 2, 3, 4, 0], [5, 6, 7, 8, 9, 0])
а, Ь модифицированную.
но если мы делаем
a, b = range(5), range(5,10)
for x in [a, b]: x = x + [0]
print(a,b)
мы получаем
([0, 1, 2, 3, 4], [5, 6, 7, 8, 9])
а, б не изменяются. Я смущен, какова связь между x и a? Когда и как я могу изменить значение a с x? И кстати, в чем разница между a = = b и a = a + b?
Во всяком случае, я найти решение, которое мы можем сделать, как это
a, b = range(5), range(5,10)
lis = [a, b]
for i, x in enumerate(lis):
lis[i] = ...
, то мы можем изменить значение в & б. Но для этого метода нужен дополнительный список.
И есть пыльники решения
for x in ['a', 'b']:
exec(x + '=' + x + '+ ...')
И простое решение
a, b = range(5), range(5,10)
for x in [a, b]: x[:] = x + [0]
print(a,b)
Мы найдем а, Ь модифицируют :)
См. Этот [связанный ответ] (http://stackoverflow.com/a/2022044/1988505), объясняющий больше о создании нового списка путем добавления к нему или вставке в исходный список. –
Большое спасибо за ваш ответ, теперь он намного яснее. Кажется, что я должен узнать больше основ о python :) –