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.

10200
Que fait le mot-clé «yield»?

À quoi sert le yieldmot - clé en Python, et que fait-il? Par exemple, j'essaie de comprendre ce code 1 : def _get_child_candidates(self, distance, min_dist, max_dist): if self._leftchild and distance - max_dist < self._median: yield self._leftchild if self._rightchild and distance + max_dist...

232
Que signifie rendement en PHP?

J'ai récemment trébuché sur ce code: function xrange($min, $max) { for ($i = $min; $i <= $max; $i++) { yield $i; } } Je n'ai jamais vu ce yieldmot - clé auparavant. Essayer d'exécuter le code que j'obtiens Erreur d'analyse: erreur de syntaxe, T_VARIABLE inattendu sur la ligne x Alors, quel est...

218
Comprendre les générateurs en Python

Je lis le livre de recettes Python en ce moment et je regarde actuellement des générateurs. J'ai du mal à me tourner la tête. Comme je viens d'un arrière-plan Java, y a-t-il un équivalent Java? Le livre parlait de «producteur / consommateur», mais quand j'entends dire que je pense au filetage....

192
Comment joindre deux générateurs en Python?

Je souhaite modifier le code suivant for directory, dirs, files in os.walk(directory_1): do_something() for directory, dirs, files in os.walk(directory_2): do_something() à ce code: for directory, dirs, files in os.walk(directory_1) + os.walk(directory_2): do_something() J'obtiens l'erreur: type...

153
Réinitialiser l'objet générateur en Python

J'ai un objet générateur renvoyé par rendement multiple. La préparation pour appeler ce générateur est une opération plutôt longue. C'est pourquoi je souhaite réutiliser le générateur plusieurs fois. y = FunctionWithYield() for x in y: print(x) #here must be something to reset 'y' for x in y:...