数组到元组的转换 python

Array to tuple conversion python

我有一个看起来像这样的数组

   [1,2,3,4,5]

我想要一个如下所示的元组列表:

[(1,2),(2,3),(3,4),(4,5)]

在 python 中最方便的方法是什么?

谢谢!

这可以使用列表推导和列表切片来完成,您迭代直到 len(a) - 1 的元素,并在每次迭代切片时将元素形成 current_index 及其旁边的元素。

a = [1,2,3,4,5]
b = [tuple(a[i:i+2]) for i in range(len(a)-1)]
print b

>>> [(1, 2), (2, 3), (3, 4), (4, 5)]
zip( a[:-1], a[1:] )

请参阅 help(zip)zip 的网站 documentation

由于 zip 将自己限制在较短的序列中,

zip(a, a[1:])

也有效。

编辑:

Steven 提出了一个有趣的观点,如果 a 很长,进行隐式复制以获得单独的 pyObject 即 a[1:] 是有问题的。在这种情况下,您可能希望使用 numpy 及其选项来查看具有偏移量的相同数据。