可能的重复:
Python - 循环内的上一个和下一个值 https://stackoverflow.com/questions/1011938/python-previous-and-next-values-inside-a-loop
python for循环,如何找到下一个值(对象)? https://stackoverflow.com/questions/3929039/python-for-loop-how-to-find-next-valueobject
我有一个包含很多元素的列表,我使用 a 迭代该列表for
环形。例如:
li = [2, 31, 321, 41, 3423, 4, 234, 24, 32, 42, 3, 24, 31, 123]
for i in li:
print(i)
但我想先获取元素i
。我怎样才能做到这一点?
您可以使用zip https://docs.python.org/library/functions.html#zip:
for previous, current in zip(li, li[1:]):
print(previous, current)
或者,如果您需要做一些更奇特的事情,因为创建一个列表或获取一部分li
效率会很低,使用pairwise食谱来自itertools https://docs.python.org/library/itertools.html#itertools-recipes
import itertools
def pairwise(iterable):
"s -> (s0,s1), (s1,s2), (s2, s3), ..."
a, b = itertools.tee(iterable)
next(b, None)
return zip(a, b)
for a, b in pairwise(li):
print(a, b)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)