ここにいくつかのリストがあります:a、bなど、それぞれにいくつかの変更を加えたいのですが、forループの動作と混同しています。
例:もしそうなら
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 が変更されます。
しかし、もしそうなら
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])
a、b は変更されません。私は混乱しています、x と a の関係は何ですか? x を使用して a の値をいつ、またはどのように変更できますか? ところで、a+=b と a=a+b の違いは何ですか?
とにかく、私たちはこのようにできる解決策を見つけます
a, b = range(5), range(5,10)
lis = [a, b]
for i, x in enumerate(lis):
lis[i] = ...
次に、a と b の値を変更できます。ただし、このメソッドは追加のリストを作成する必要があります。
そして、葯の解決策があります
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)
a、bが変更されていることがわかります:)