php中文网

Python DFS中append列表导致嵌套?如何避免?

php中文网

python中DFS中append到ans的列表格式问题

在解决OJ题目时,开发者发现DFS函数中将path追加到ans时得到的结果不是预期的独立列表。明明每次dfs操作都是对同级的path进行追加,却产生了嵌套的列表。

出现此问题的根源在于ans.append(path[:])的使用。path[:]会将path中的元素组成一个新的列表,相当于将path本身作为ans中的一个元素。正确的方式是使用ans.extend(path),它会将path中的每个元素分别添加到ans中。

在改动后,ans将成为一个平面列表,其中包含所有找到的路径,每个路径的元素按顺序排列,满足预期的格式。

立即学习“Python免费学习笔记(深入)”;

以上就是Python DFS中append列表导致嵌套?如何避免?的详细内容,更多请关注php中文网其它相关文章!