擅长:python、mysql、java
<p>为了解释发生了什么</p>
<p><strong>第一个案例</strong></p>
<p>因此python函数中的默认值仅在定义函数时实例化一次,因此列表仅在定义函数时创建,并且您不断向其中添加,因此现在结果包含所有旧值</p>
<p>对于在python中用作参数默认值时可变的所有值,都是如此</p>
<p>你能做什么</p>
<p>通常使用不可变值,对于list,使用<code>None</code>作为默认值,在函数中检查list是否为<code>None</code>,并在函数中创建一个空列表</p>
<p>在这里阅读更多内容(第一个问题):<a href="https://docs.python-guide.org/writing/gotchas/" rel="nofollow noreferrer">https://docs.python-guide.org/writing/gotchas/</a></p>
<p><strong>第二种情况</strong></p>
<p>现在,当您执行<code>L.append(L)</code>操作时,实际上是通过将相同的列表附加到自身来创建无限列表</p>
<p>每当列表太大而无法打印时,python就会在其位置显示这三个点</p>
<p>在这里阅读更多<a href="https://stackoverflow.com/questions/7223222/what-does-an-ellipsis-in-a-list-mean-in-python">What does [...] (an ellipsis) in a list mean in Python?</a></p>