将平面列表转换为二元组
有没有一种单行代码可以做到以下这些事情:
input = ['this', 'is', 'a', 'list']
output = [('this', 'is'), ('a', 'list')]
我最开始的想法是先创建两个列表,然后把它们合并在一起。这样的话需要三行代码。
这个列表的元素数量是偶数。
3 个回答
4
>>> input = ['this', 'is', 'a', 'list']
>>> [(input[i], input[i + 1]) for i in range(0, len(input), 2)]
[('this', 'is'), ('a', 'list')]
当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。
7
In [4]: zip(*[iter(lst)]*2)
Out[4]: [('this', 'is'), ('a', 'list')]
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。
9
这段内容非常简短:
zip(input, input[1:])[::2]