将列表转换为元组python

mii*_*iik 2 python list

我正在创建一个python程序.

我有一个清单:

[3, 28, 25, 126, 25, 127]

如何将其转换为元组列表,以便列表变为:

[(3,28),(25,126),(25,127)]

它加入了2个元素并构成了一个元组.

Eri*_*ric 11

>>> L = [3, 28, 25, 126, 25, 127]
>>> zip(L[0::2], L[1::2])
[(3, 28), (25, 126), (25, 127)]
Run Code Online (Sandbox Code Playgroud)

这将创建两个列表切片,步长为2 - 从索引零开始,第二个从索引1开始.zip然后创建具有每个可迭代的一个元素的元组.


jam*_*lak 7

>>> L = [3, 28, 25, 126, 25, 127]
>>> zip(*[iter(L)]*2)
[(3, 28), (25, 126), (25, 127)]
Run Code Online (Sandbox Code Playgroud)

如何zip(*[iter(s)]*n)在Python 中工作?

  • 我注意到这里真正重要的,非显而易见的是`[iter(L)]*2`创建了2个指针(我不会将它们称为标签,因为它们没有被命名,只是在列表中编入索引)到同一个迭代器实例,所以在执行zip时,调用相同的迭代器实例来生成元组中的两个元素,默认情况下会导致所需的分组. (3认同)
  • 那个人有点不透明.你能解释一下吗? (2认同)