>>># Measure some strings:
... words = ['cat', 'window', 'defenestrate']
>>>for w in words:
... print(w, len(w))
cat 3
window 6
defenestrate 12
在迭代过程中修改迭代序列不安全(只有在使用链表这样的可变序列时才会有这样的情况)。如果你想要修改你迭代的序列(例如,复制选择项),你可以迭代它的复本。使用切割标识就可以很方便地做到这一点:
>>>for w in words[:]: # Loop over a slice copy of the entire list.
... if len(w) >6:
... words.insert(0, w)
...
>>>words
['defenestrate', 'cat', 'window', 'defenestrate'