Python-遍历列表中的所有成对连续项
给出清单
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
模块应该有解决方案,但我无法弄清楚。
回答:
只需使用拉链
>>> l = [1, 7, 3, 5]>>> for first, second in zip(l, l[1:]):
... print first, second
...
1 7
7 3
3 5
如建议的那样,你可能会考虑izip
在itertools
很长的列表中使用此函数,而这些列表又不想创建新列表。
import itertoolsfor first, second in itertools.izip(l, l[1:]):
...
以上是 Python-遍历列表中的所有成对连续项 的全部内容, 来源链接: utcz.com/qa/420355.html