Perguntas com a marcação «yield»

yield é (1) uma palavra-chave que facilita a criação de funções geradoras, (2) uma instrução Ruby para transferir o controle de uma co-rotina para outra, (3) uma instrução Java usada para produzir um valor de uma expressão switch.

10195
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...

828
Qual é a palavra-chave yield usada em C #?

Na pergunta Como posso expor apenas um fragmento de IList <>, uma das respostas tinha o seguinte trecho de código: IEnumerable<object> FilteredList() { foreach(object item in FullList) { if(IsItemInPartialList(item)) yield return item; } } O que a palavra-chave yield faz lá? Eu...

153
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:...

90
Python: expressão do gerador vs. rendimento

Em Python, há alguma diferença entre criar um objeto gerador por meio de uma expressão geradora e usar a instrução yield ? Usando o rendimento : def Generator(x, y): for i in xrange(x): for j in xrange(y): yield(i, j) Usando expressão geradora : def Generator(x, y): return ((i, j) for i...

8
`yield 'dentro de um procedimento recursivo

Digamos que eu tenho uma lista Python representando intervalos para algumas variáveis: conditions = [['i', (1, 5)], ['j', (1, 2)]] Isso representa que a variável ivaria de 1 a 5 e, dentro desse loop, a variável jvaria de 1 a 2. Quero um dicionário para cada combinação possível: {'i': 1, 'j':...