擅长:python、mysql、java
<p>您使用<code>element</code>作为元素索引的名称,这很混乱。实际上,稍后将检查/追加索引,而不是myList中相应的元素!你知道吗</p>
<p>替代版本:</p>
<pre><code>def splitList2(myList, option):
nList = []
n = 0
while n < len(myList):
element = myList[n]
if option == 0:
if abs(element) > 5:
nList.append(element)
elif option == 1:
if element % 2:
nList.append(element)
element = element + 1
return nList
</code></pre>
<p>而且<code>while</code>也不是执行此类任务的最佳选择。我假设您是出于教育的原因,尝试使用<code>while</code>来实现这一点。然而,一种更为python的方式是:</p>
<pre><code>def splitList2(myList, option):
options = {
0: lambda n: abs(n) > 5,
1: lambda n: n % 2
}
return filter(options[option], nList)
</code></pre>