擅长:python、mysql、java
<p>你写的</p>
<pre><code>tr.filler(l, tr2)
</code></pre>
<p>但是在filler中,你不用tr2,因为你用一个新的树对象来删除它。在</p>
^{pr2}$
<p>而且,正如评论中指出的</p>
<pre><code>self.filler(lista[:nr], tree.left)
self.filler(lista[nr:], tree.right)
</code></pre>
<p>错误,因为您传递了<code>tree.left</code>和<code>tree.right</code>,它们都是<code>None</code>,而{<cd4>}需要一个<code>tree</code>对象,而不是{<cd3>}。在</p>
<p>关于<em>通过引用传递</em>,您应该阅读Python中的<a href="https://stackoverflow.com/questions/8056130/immutable-vs-mutable-types-python">mutables</a>。TL;DR:如果您将<code>tr2</code>传递给<code>filler</code>,并在<code>filler</code>中修改它,它确实会被修改。在</p>