Python列表操作:将前任和后继组合到元组中

Cle*_*leb 0 python tuples list

假设我l在python中有一个列表定义为:

l = [x1, x2, x3,...,xn-1, xn],
Run Code Online (Sandbox Code Playgroud)

有一种简单的方法来创建一个列表l1:

l1 = [(x1, x2), (x2, x3),...,(xn-1, xn)]?

Cor*_*mer 7

您可以使用列表推导和列表的zip两个切片,它们被1个索引偏移

>>> l = list(range(10))
>>> [(a,b) for a,b in zip(l[:-1], l[1:])]
[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8), (8, 9)]
Run Code Online (Sandbox Code Playgroud)

  • 你可以做`zip(l,l [1:])`,因为`zip`的参数不需要是相同的长度. (2认同)