我尝试使用以下 python 代码为列表分配新值。
a,b,c=[],[],[]
def change():
return [1]
for i in [a,b,c]:
i=change()
print(a)
输出是[]
,但我需要的是[1]
最佳答案
您在这里所做的是在循环内重新分配变量i
,但实际上并没有更改a
、b
,或c
。
举个例子,您希望以下源代码输出什么?
a = []
i = a
i = [1]
print(a)
在这里,您在为 i
分配了 a
后重新分配了它。当执行i = [1]
操作时,a
本身并没有改变,因此会输出[]
。此问题与您在循环中看到的问题相同。
您可能想要这样的东西。
a, b, c = (change() for i in (a, b, c))
关于python - 如何将新值分配给另一个列表中的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57584229/