>>># 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'
for语句是python的循环语句, 这里的w是个变量, 这个语句的意思是将words这个列表里的元素依次赋值给变量w, 并执行下面的print语句. 相当于:
w = 'cat'print(w, len(w))
w = 'window'
print(w, len(w))
w = 'defenestrate'
print(w, len(w))