如何防止FOR循环过早结束?

时间:2014-02-04 15:09:40

标签: python for-loop

CODE:

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”缺失

1 个答案:

答案 0 :(得分:7)

您想使用函数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