python - 如何防止我的 FOR 循环过早结束?

标签 python for-loop

代码:

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/

相关文章:

python - 为什么在 Python 多处理中将启动方法从 'spawn' 更改为 'fork' 不允许我再运行我的工作?

python - 如何使用 bs4 从网站获取表数据

python - 为 PyPy 优化

c# - Parallel.For 与 for

python - Pandas 日期时间错误 : Cannot compare type 'Timestamp' with type 'unicode'

python - 如何在JS代码中正确使用gettext?

python - 在Python Bluemix服务器中写入图像

Bash 传递不在循环第 i 个元素中的文件名

c - 所以我正在用 C 编写一个投票程序,但我无法想出一个 for 循环来计算总票数

java - Java 满足条件后停止循环