python - 如何将新值分配给另一个列表中的列表?

标签 python list function for-loop variable-assignment

我尝试使用以下 python 代码为列表分配新值。

a,b,c=[],[],[]
def change():
    return [1]
for i in [a,b,c]:
    i=change()
print(a)

输出是[],但我需要的是[1]

最佳答案

您在这里所做的是在循环内重新分配变量i,但实际上并没有更改ab ,或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/

相关文章:

Python ID3 标签、元组和字符串格式问题

r - R 中的 NA 值问题

python - 如何停止 dbus gobject 循环

c++ - 复制指针列表没有循环

python - TensorFlow 类 Placeholder,以及其他定义输入张量的方式

java - 为什么 ArrayList 在开头插入元素比 LinkedList 在 java 中花费更多时间

php - 如何从数组键创建变量

PHP检查用户是否使用函数登录

python - 如何从列表中创建邻接矩阵?

python - Flask 文件结构