社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Rodrigo De Rosa

Rodrigo De Rosa 最近创建的主题
Rodrigo De Rosa 最近回复了
6 年前
回复了 Rodrigo De Rosa 创建的主题 » python for loop只将最后一个列表作为值追加

看起来你的问题是你实际上一直在使用 相同的 名单。

定义 files_in_subfolder = [] 创建一个列表,并在刚刚定义的变量中为该列表分配一个指针。所以当你分配 self.folders_and_files[subfolder] = files_in_subfolder 您只将指向列表的指针(在每次迭代中都是相同的)存储在字典中,而不是实际的列表中。

以后,当你这样做的时候 files_in_subfolder.clear() 您正在清除指针所指向的列表,并因此清除字典中的所有条目(因为它始终是同一个列表)。

为了解决这个问题,我建议您创建 新的 为字典中的每个不同条目列出列表,而不是为每次迭代清除它。这是,移动 files_in_subfolder 从圈外到圈内。

希望有帮助!