78 votes

Comment obtenir les n valeurs suivantes d’un générateur dans une liste (python)

J’ai fait un générateur pour lire un fichier mot par mot et ça marche bien.

Quel est le moyen le plus simple d’obtenir les n valeurs suivantes dans une liste ?

103voto

Ignacio Vazquez-Abrams Points 312628

Utiliser itertools.islice :

 list(itertools.islice(it, n))

4voto

dan_waterworth Points 3169
for word, i in zip(word_reader(file), xrange(n)):
    ...

4voto

Pour obtenir les n premières valeurs d’un générateur, vous pouvez utiliser more_itertools.take.

Si vous envisagez d’itérer sur les mots en morceaux (par exemple, 100 à la fois), vous pouvez utiliser more_itertools.chunked (https://more-itertools.readthedocs.io/en/latest/api.html):

-1voto

W.P. McNeill Points 1334

Utilisez cytoolz.take.

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