Python中的多元组到双组元组?

Dan*_*Dan 11 python tuples data-structures

拆分这个最好的方法是什么:

tuple = ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h')
Run Code Online (Sandbox Code Playgroud)

进入这个:

tuples = [('a', 'b'), ('c', 'd'), ('e', 'f'), ('g', 'h')]
Run Code Online (Sandbox Code Playgroud)

假设输入始终具有偶数个值.

小智 38

zip() 是你的朋友:

t = ('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h')
zip(t[::2], t[1::2])
Run Code Online (Sandbox Code Playgroud)


Pet*_*ann 15

[(tuple[a], tuple[a+1]) for a in range(0,len(tuple),2)]
Run Code Online (Sandbox Code Playgroud)


And*_*ffe 6

或者,使用itertools(见配方grouper):

from itertools import izip
def group2(iterable):
   args = [iter(iterable)] * 2
   return izip(*args)

tuples = [ab for ab in group2(tuple)]
Run Code Online (Sandbox Code Playgroud)