Python 3.10+itertoolsфункция
itertools.pairwise
itertools
Соседние пары элементов: (s0,s1), (s1,s2), … (Python 3.10+).
Синтаксис
itertools.pairwise(iterable)
В отличие от старого приёма zip(seq, seq[1:]), pairwise работает с любым итерируемым — включая генераторы и бесконечные потоки, — потому что лениво держит в памяти только предыдущий элемент. Если на входе меньше двух элементов, результат пустой.
Примеры
import itertools
print(list(itertools.pairwise([1, 2, 3, 4]))) # → [(1, 2), (2, 3), (3, 4)]
print(list(itertools.pairwise('abc'))) # → [('a', 'b'), ('b', 'c')]
print([b - a for a, b in itertools.pairwise([10, 13, 12, 20])]) # → [3, -1, 8]
print(all(a <= b for a, b in itertools.pairwise([1, 2, 2, 5]))) # → True
print(list(itertools.pairwise([7]))) # → []
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности