python - python中的“上面定义的重新声明的变量没有使用”?
问题描述
这可能很愚蠢,但让我发疯:为什么这段代码不起作用?给我一个警告“上面定义的重新声明的 j 变量没有使用”并且不重写元素。谢谢。
a=[[1,2],[3,4,0],[5,6,0,0]]
for i in a:
for j in i:
j=0
print(a)
解决方案
警告消息试图告诉您它所说的内容:您在技术上“重新声明”一个变量。(尽管最好将其视为一个name,您正在重新分配它。)
具体来说,for 循环基本上是将名称隐式重新分配j
给下一个int
in i
。j=0
您的 IDE 检测到您在每个嵌套的 for 循环中执行毯子之前没有对该临时分配执行任何操作。
您可能已经注意到,所有这些实际上并没有修改a
. 这是因为,正如评论中所指出的,您没有改变a
.
推荐阅读
- django - 从生产中输入 url 域/媒体时从媒体文件夹公开的媒体
- javascript - babel-plugin-rewire 无法正常使用 React Native 项目
- python - DataLakeServiceClient 凭据错误 - 未引发错误
- pdf - 如何从外部文件自动添加/替换现有 PDF 中的文本?
- javascript - 让 div 跟随光标在特定的 div 父级中
- python - 获取具有不同长度列表的列的稀疏 df 并确保正确合并
- mysql - 加入具有重复行数据的表时如何获得正确的 SUM()?
- laravel - limit() 和 take() 不能正常工作
- javascript - Material UI - React Js - Datepicker 选择下一个日期
- laravel - Laravel 和 axios 安装在其他子域 CORS 问题上