>>> a = [1,2,3,4,5,6] >>> for item in a: ... a.remove(item) ... >>> a [2, 4, 6] 看到上面的代码是不是感觉很奇怪?直观来看,我们只是想依次把队列a中的每个元素依次删除,为什么最后的结果确是[2,4,6]?如果你够机智想必应该猜出来是什么原因了.对于每一次for循环,当前一次的a.remove(item)执行完成后,a相对的缩短了:item后面的元素补上了之前删除的位置,导致这…
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. 可以用for 进行迭代的,一般都是可迭代对象: 除了内置的数据类型(列表.元组.字符串.字典等)可以通过 for 语句进行迭代,我们也可以自己创建一个容器,包含一系列元素,可以通过 for 语句依次循环取出每一个元素,这种容器就是迭代器(iterator).除了用 for 遍历,迭代器还可以通过 next() 方法逐一读取下一个元素.要创建一个…