De nombreuses façons différentes. Juste pour montrer quelques:
Comme la compréhension de la liste, où l est une séquence (ie index entier): [(l[i], l[i+1]) for i in range(0,len(l),2)]
En fonction de générateur, fonctionne pour tous iterables:
def some_meaningful_name(it):
it = iter(it)
while True:
yield next(it), next(it)
Naive via la liste tranchage (performance sucksy pour les listes plus grandes) et la copie, à nouveau en utilisant la compréhension de la liste: [pair for pair in zip(l[::2],l[1::2])]
. J'aime le deuxième meilleur, et c'est probablement le plus générique et pythonique (et puisqu'il s'agit d'un générateur, il fonctionne dans un espace constant).
double possible (http://stackoverflow.com/questions/756550/multiple-tuple-to -two-pair-tuple-in-python) –
dupliquer: http://stackoverflow.com/questions/870652/pythonic-way-to-split-comma-separated-numbers-into-pairs/870677#870677 – FogleBird
copie possible de [Comment diviser une liste en morceaux de taille égale en Python?] (http://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks-in -python) – tzot