擅长:python、mysql、java
<p>当你这么做的时候</p>
<pre><code>adjacentList.append(currentPos)
</code></pre>
<p>您将引用附加到列表<code>currentPos</code>到<code>adjacentList</code>。因此,每次更改<code>currentPos</code>时,实际上也是在更改<code>adjacentList</code>中的元素。如果您在中间步骤中打印<code>adjacentList</code>,您就会明白我的意思。你知道吗</p>
<p>为了避免这种情况,您可以附加列表的副本:</p>
<pre><code>adjacentList.append(list(currentPos))
</code></pre>
<p>下面是一个示例,您可以看到我所描述的内容:</p>
<pre><code>>>> l = [1, 1]
>>> adjacentList = []
>>> adjacentList.append(l)
>>> adjacentList
[[1, 1]]
>>> l[1] = 2
>>> adjacentList
[[1, 2]]
</code></pre>