擅长:python、mysql、java
<p>在向两个函数传递、修改和返回相同的变量(list)<code>k</code>时,每次都修改相同的数据。你知道吗</p>
<p>尝试使用:</p>
<pre><code>print("z1", id(z1))
print("z2", id(z2))
print("k", id(k))
</code></pre>
<p>这将返回变量的标识。你会注意到z1,z2和k都有相同的身份。你知道吗</p>
<p>在第一种情况下,在调用下一个函数之前直接打印输出。这就是为什么你没有注意到这种行为。你知道吗</p>
<p>但是,当您分配返回变量、保存它然后打印它时,您会注意到这个问题。你知道吗</p>
<p>要解决它,与其修改传递给函数的列表,不如在函数内部创建一个新列表,为其赋值并返回该列表。你知道吗</p>