91 votes

Le moyen le plus court de découper des lignes paires/impaires à partir d'un réseau de pythons ?

Ou, une question plus générale serait, comment couper un tableau pour obtenir chaque n-ième ligne, donc pour pair/impair, vous voudriez sauter une ligne, mais dans le cas général, vous voudriez obtenir toutes les n-ième lignes, sauter n-1 lignes.

1voto

Duarte Pombo Points 11

exemple pour les indices 0,2,4... de myArr

myArr[list(range(0,len(myArr),2))]

exemple pour les indices 1,3,5... de myArr

myArr[list(range(1,len(myArr)+1,2))]

vous pouvez le manipuler comme vous le souhaitez avec le paramètre step, dans ce cas il est égal à 2. espérons que cela vous aidera

1voto

delijati Points 33

C'est plus pour moi un exemple complet ;)

>>> import itertools
>>> ret = [[1,2], [3,4,5,6], [7], [8,9]]
>>> itertools.izip_longest(*ret)
>>> [x for x in itertools.chain.from_iterable(tmp) if x is not None]
[1, 3, 7, 8, 2, 4, 9, 5, 6]

-1voto

ajmartin Points 726
> map(lambda index: arr[index],filter(lambda x: x%n == 0,range(len(arr))))

arr est une liste, et n tranches sont requises.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X