Étant donné une liste :
import string
a = list(string.ascii_lowercase)
Quelle est la façon Pythonique de retourner chaque nième bloc de m éléments ? Notez que cela est différent de simplement retourner chaque nième élément.
Résultat souhaité de prendre chaque 1er des 3 blocs de 3 éléments (prendre 3, sauter 6, prendre 3, sauter 6...) :
['a', 'b', 'c', 'j', 'k', 'l', 's', 't', 'u']
Je peux y arriver comme suit :
import itertools
s1 = a[::9]
s2 = a[1::9]
s3 = a[2::9>
res = list(itertools.chain.from_iterable(zip(s1,s2, s3)))
Y a-t-il une manière plus propre de le faire ?