擅长:python、mysql、java
<blockquote>
<p>return the <strong>same</strong> list without vowels</p>
</blockquote>
<p>嗯,您是在递归调用中对原始列表进行切片,所以有一个<strong>拷贝</strong>不同于同一个列表。在</p>
<p>更重要的是,您的代码实际上可以工作,但是由于您传递的是列表的一个<em>切片</em>,那么片段中的元音项(不是原始列表)将被删除,而原始的元素保持不变。在</p>
<p>您可以使用一个从原始列表的<em>开始</em>到<em>结束</em>的非切片</em>变体:</p>
<pre><code>def no_vow(seq, index=0):
keys = ['a','i','e','o','u']
if not seq or not isinstance(seq, list) or index >= len(seq):
return
else:
if seq[index] in keys:
del seq[index]
return no_vow(seq, index)
else:
return no_vow(seq, index+1)
</code></pre>
<p>最后,如果要打印结果,则不应该打印函数调用的输出(将是<code>None</code>),而应该打印列表。在</p>
<hr/>
<p><strong>试验</strong>:</p>
^{pr2}$