Questions marquées «generator»

Un générateur est une généralisation d'un sous-programme, principalement utilisé pour simplifier l'écriture des itérateurs. L'instruction yield dans un générateur ne spécifie pas une coroutine vers laquelle sauter, mais renvoie plutôt une valeur à une routine parent.






12
Modèle de générateur C ++ équivalent à Python
J'ai un exemple de code Python que je dois imiter en C ++. Je n'ai besoin d'aucune solution spécifique (comme des solutions de rendement basées sur la co-routine, bien qu'elles soient également des réponses acceptables), j'ai simplement besoin de reproduire la sémantique d'une manière ou d'une autre. Python Il s'agit …



3
Python: utiliser un algorithme récursif comme générateur
Récemment, j'ai écrit une fonction pour générer certaines séquences avec des contraintes non triviales. Le problème est venu avec une solution récursive naturelle. Maintenant, il arrive que, même pour une entrée relativement petite, les séquences soient de plusieurs milliers, donc je préférerais utiliser mon algorithme comme générateur au lieu de …

9
Fonction de générateur vide Python
En python, on peut facilement définir une fonction itérateur, en mettant le mot-clé yield dans le corps de la fonction, comme: def gen(): for i in range(100): yield i Comment puis-je définir une fonction de générateur qui ne donne aucune valeur (génère 0 valeurs), le code suivant ne fonctionne pas, …
99 python  generator 

8
Python: expression du générateur vs rendement
En Python, y a-t-il une différence entre la création d'un objet générateur via une expression de générateur et l'utilisation de l' instruction yield ? En utilisant le rendement : def Generator(x, y): for i in xrange(x): for j in xrange(y): yield(i, j) Utilisation de l' expression du générateur : def …

4
enumerate () - création d'un générateur en Python
J'aimerais savoir ce qui se passe lorsque je passe le résultat d'une fonction de générateur à enumerate () de python. Exemple: def veryBigHello(): i = 0 while i < 10000000: i += 1 yield "hello" numbered = enumerate(veryBigHello()) for i, word in numbered: print i, word L'énumération est-elle répétée paresseusement, …

7
Générateurs Python zippés dont le 2ème est plus court: comment récupérer un élément consommé en silence
Je veux analyser 2 générateurs de longueur (potentiellement) différente avec zip: for el1, el2 in zip(gen1, gen2): print(el1, el2) Cependant, s'il gen2a moins d'éléments, un élément supplémentaire de gen1est "consommé". Par exemple, def my_gen(n:int): for i in range(n): yield i gen1 = my_gen(10) gen2 = my_gen(8) list(zip(gen1, gen2)) # Last …

5
Retour ou rendement d'une fonction qui appelle un générateur?
J'ai un générateur generatoret aussi une méthode pratique - generate_all. def generator(some_list): for i in some_list: yield do_something(i) def generate_all(): some_list = get_the_list() return generator(some_list) # <-- Is this supposed to be return or yield? Devrait generate_all returnou yield? Je veux que les utilisateurs des deux méthodes l'utilisent de la …

3
La plupart des appels pythoniques générant True?
La classe collections.defaultdictprend une fabrique par défaut, utilisée pour générer une valeur par défaut. Si les valeurs contenues dans l' dictobjet -like doivent avoir la valeur par défaut False, l'instance peut être créée comme suit: d_false = defaultdict(bool) Quelle est la manière la plus pythonique d'obtenir la même chose pour …
11 python  generator 

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.