这是一个有效的python行为吗?我认为最终结果应该是[0,0,0]并且id()函数应该在每次迭代时返回相同的值.如何使它成为pythonic,而不是使用枚举或范围(len(bar))?
bar = [1,2,3]
print bar
for foo in bar:
print id (foo)
foo=0
print id(foo)
print bar
Run Code Online (Sandbox Code Playgroud)
输出:
[1, 2, 3]
5169664
5169676
5169652
5169676
5169640
5169676
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud) 我不知道如何循环变量,为它们赋值。
a = 1; b = 2; c = 3
for x in [a, b, c]:
print(x)
1
2
3
for x in [a, b, c]:
x = x * 2
for x in [a, b, c]:
print(x)
1
2
3
Run Code Online (Sandbox Code Playgroud)