将平面列表变为两元组

Dav*_*542 4 python

是否有单行表达式来完成以下操作:

input = ['this', 'is', 'a', 'list']
output = [('this', 'is'), ('a', 'list')]
Run Code Online (Sandbox Code Playgroud)

我最初的想法是创建两个列表,然后将它们压缩.这将需要三行.

该列表将具有偶数个元素.

pio*_*kuc 7

这很简短:

zip(input, input[1:])[::2]
Run Code Online (Sandbox Code Playgroud)


roo*_*oot 7

In [4]: zip(*[iter(lst)]*2)
Out[4]: [('this', 'is'), ('a', 'list')]
Run Code Online (Sandbox Code Playgroud)