擅长:python、mysql、java
<p>因为<code>for</code>不计算数字;它遍历一个序列。每次循环体执行时,<code>x</code>被设置为<code>xrange</code>产生的下一个值。<code>for</code>语句不关心循环末尾的<code>x</code>是什么。在</p>
<p>无论如何,你真的不应该在循环中修改列表。更简单的方法是建立一个新的列表:</p>
<pre><code>def remove_doubles(old):
new = []
for item in old:
if new and item == new[-1]:
continue
new.append(item)
return new
</code></pre>
<p>当然,<em>真正的</em>消除重复的简单方法是<code>list(set(foo))</code>。但这将删除所有重复项,而不仅仅是相邻项,而且可能还会破坏项目顺序。在</p>