首页 > 解决方案 > python中的“上面定义的重新声明的变量没有使用”?

问题描述

这可能很愚蠢,但让我发疯:为什么这段代码不起作用?给我一个警告“上面定义的重新声明的 j 变量没有使用”并且不重写元素。谢谢。

a=[[1,2],[3,4,0],[5,6,0,0]]

for i in a:
    for j in i:
        j=0

print(a)

标签: pythonvariables

解决方案


警告消息试图告诉您它所说的内容:您技术上“重新声明”一个变量。(尽管最好将其视为一个name,您正在重新分配它。)

具体来说,for 循环基本上是将名称隐式重新分配j给下一个intin ij=0您的 IDE 检测到您在每个嵌套的 for 循环中执行毯子之前没有对该临时分配执行任何操作。

您可能已经注意到,所有这些实际上并没有修改a. 这是因为,正如评论中所指出的,您没有改变a.


推荐阅读