【发布时间】:2014-02-13 17:00:50
【问题描述】:
给定一个列表
l = [1, 7, 3, 5]
我想遍历所有连续列表项对(1,7), (7,3), (3,5),即
for i in xrange(len(l) - 1):
x = l[i]
y = l[i + 1]
# do something
我想以更紧凑的方式来做这件事,比如
for x, y in someiterator(l): ...
有没有办法使用内置的 Python 迭代器来做到这一点?我确定itertools 模块应该有解决方案,但我就是想不通。
【问题讨论】:
-
虽然我接受了 sberry 的回答,因为我要求提供一个简单的基于内置的解决方案,但也要考虑 thefourtheye 和 HansZauber 提供的优雅且性能更高的解决方案。