私信  •  关注

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 从圈外到圈内。

希望有帮助!