Python中快速配对列表的2种方法

在 3.10 之前,使用 zip 结合 Python 中的切片来配对元素,

numbers = range(1, 6)
pairs = list(zip(numbers, numbers[1:]))
print(pairs)  # [(1, 2), (2, 3), (3, 4), (4, 5)]

在此示例中,numbers[1:-] 表示从第二个开始的所有元素。然后,zip 函数将这两个切片中的相应元素配对。

这通过压缩原始列表的切片来创建相邻元素对。

3.10 现在可以使用 itertools 的 pairwise() 了:

from itertools import pairwise

numbers = range(1, 6)
pairs = list(pairwise(numbers))
print(pairs)  # [(1, 2), (2, 3), (3, 4), (4, 5)]

itertools.pairwise() 方法更加通用,可以应用于任何可迭代对象。它比 zip() 方法更复杂一些,但为不同的可迭代类型提供了更大的灵活性。

非常适用于滑动窗口问题,例如数据分析/序列处理中的滑动窗口问题