代码:

tsol = [6,7,8,9,10]
lenth = len(tsol)

for t,tnext in zip(tsol[0:lenth],tsol[1:lenth]):

  print t,tnext

结果:
6,7个
7,8个
8,9个
9,10个
t值“10”丢失

最佳答案

要使用函数itertools.izip_longest

from itertools import izip_longest
for t,tnext in izip_longest(tsol[0:lenth],tsol[1:lenth]):

  print t,tnext

输出:
6 7
7 8
8 9
9 10
10 None

如果要使用不同于None的占位符值,可以指定fillvalue关键字参数:
izip_longest(tsol[0:lenth],tsol[1:lenth], fillvalue="whatever")

输出:
6 7
7 8
8 9
9 10
10 whatever

关于python - 如何防止FOR循环过早结束?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21556097/

10-11 14:58