Python: convertir liste de générateur
dire que j'ai une liste
data = []
data.append("A")
data.append("B")
data.append("C")
data.append("D")
Comment puis-je convertir celui-ci à un type de générateur ?
Toute l'aider avec un exemple de code est très apprécié...
Trouvé une URL http://eli.thegreenplace.net/2012/04/05/implementing-a-generatoryield-in-a-python-c-extension/
Est-ce que je veux faire ?
google mot-clé "rendement"
OriginalL'auteur swordholder | 2013-04-16
Vous devez vous connecter pour publier un commentaire.
œuvres en Python 2.7.4+
Edit:
Encore une légère variation d'une lambda générateur de modèle de fabrique
OriginalL'auteur David
Êtes-vous bien sûr, vous voulez créer un générateur? Un générateur est une fonction qui retourne un itérateur de type, construit en utilisant par exemple le
yield
mot-clé (cf. terme-générateur).Si tu le veux vraiment, steven-rumbalski's réponse est précisément ce que vous cherchez:
La plupart du temps, vous aurez envie de créer directement un iterator objet, par exemple, l'utilisation de la
next()
méthode. Dans ce cas, la réponse est implicite dans le commentaire par mgilson ci-dessus:qui est équivalent à
data_iter = data.__iter__()
, cf. fonctions#iter.OriginalL'auteur Heinrich Hartmann
L'équivalent littéral serait:
Appelant le générateur de fonction retourne un générateur d'itérateur. En passant le générateur itérateur à la liste constructeur donne:
Ce générateur itérateur peut également être créé à l'aide d'un générateur d'expression:
Remarque: Vous avez rempli votre liste avec quatre append consolidés. C'est généralement pas comment vous l'écrire.
Plutôt faire:
OriginalL'auteur Steven Rumbalski
comme suit:
iter_data = iter(data)
... Vous n'êtes pas vraiment le chaînage de quoi que ce soit ici.pas de chaînage quoi que ce soit? on ne peut pas avoir un seul maillon de la chaîne? 😉
Pas de. Non, vous ne pouvez pas ._.
OriginalL'auteur Cameron Sparr
OriginalL'auteur Yarkee
Vous voulez dire quelque chose comme cela?
OriginalL'auteur Ashwini Chaudhary
C'est la façon de le faire, si je me souviens bien.
etc etc.
OriginalL'auteur Micaele