Ska*_*che 4 python loops for-loop iterable
这是一个非常基本的语法问题,我只是不知道该怎么做/无法弄清楚如何寻找解释.基本上,你可以很容易地比较/计算迭代的连续项之间的事物,比如说:
for i in range(len(iterable)):
if iterable[i] == iterable[i + 1]:
do whatever
Run Code Online (Sandbox Code Playgroud)
但似乎肯定应该有一种方法可以做到这一点而不会搞乱范围(len())的事情?比如,我应该能够拥有
for item in iterable:
if item == nextitem:
do whatever
Run Code Online (Sandbox Code Playgroud)
除了"nextitem"将是某种关键字或切片语法或...我真的不知道它会是什么,我只是觉得它必须存在.我认为for item, nextitem in iterable可能会工作,但这似乎只是指迭代中的元组.我在这找什么?
没有内置的方法来做到这一点,但这有效:
from itertools import izip_longest
for item, nextitem in izip_longest(iterable, iterable[1:]):
if item == nextitem:
do whatever better
Run Code Online (Sandbox Code Playgroud)
取决于你的迭代实际是什么,你可以做到 zip(iterable[:-1], iterable[1:])