Perguntas com a marcação «generator»

Um gerador é uma generalização de uma sub-rotina, usada principalmente para simplificar a escrita de iteradores. O comando yield em um gerador não especifica uma co-rotina para a qual saltar, mas passa um valor de volta para uma rotina pai.

30
O que a palavra-chave "yield" faz?
Qual é o uso da yieldpalavra - chave em Python e o que ela faz? Por exemplo, estou tentando entender esse código 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 >= self._median: yield self._rightchild E …






8
O que significa yield em PHP?
Recentemente, deparei-me com este código: function xrange($min, $max) { for ($i = $min; $i <= $max; $i++) { yield $i; } } Eu nunca vi essa yieldpalavra - chave antes. Tentando executar o código que recebo Erro de análise: erro de sintaxe, T_VARIABLE inesperado na linha x Então, qual é …

12
Entendendo geradores em Python
Atualmente, estou lendo o livro de receitas Python e atualmente estou olhando para geradores. Estou achando difícil de entender. Como eu venho de um background em Java, existe um equivalente em Java? O livro estava falando sobre 'Produtor / Consumidor', no entanto, quando ouço isso, penso em encadear. O que …
218 python  generator 



11
Como juntar dois geradores em Python?
Eu quero mudar o seguinte código for directory, dirs, files in os.walk(directory_1): do_something() for directory, dirs, files in os.walk(directory_2): do_something() para este código: for directory, dirs, files in os.walk(directory_1) + os.walk(directory_2): do_something() Eu recebo o erro: tipo (s) de operando não suportado para +: 'generator' e 'generator' Como juntar dois …
188 python  generator 

5
Como eu construo uma matriz numpy a partir de um gerador?
Como criar uma matriz numpy a partir de um objeto gerador? Deixe-me ilustrar o problema: >>> import numpy >>> def gimme(): ... for x in xrange(10): ... yield x ... >>> gimme() <generator object at 0x28a1758> >>> list(gimme()) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> numpy.array(xrange(10)) …
166 python  numpy  generator 

9
Como verificar se um objeto é um objeto gerador em python?
Em python, como verifico se um objeto é um objeto gerador? Tentando isso - >>> type(myobject, generator) dá o erro - Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'generator' is not defined (Eu sei que posso verificar se o objeto tem um nextmétodo para …
157 python  generator 


17
Redefinindo o objeto gerador em Python
Eu tenho um objeto gerador retornado por vários rendimentos. A preparação para chamar esse gerador é uma operação bastante demorada. É por isso que quero reutilizar o gerador várias vezes. y = FunctionWithYield() for x in y: print(x) #here must be something to reset 'y' for x in y: print(x) …
153 python  generator  yield 

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.