Perguntas com a marcação «iterator»

Um iterador é um padrão de programação orientado a objetos que permite a travessia através de uma coleção, independente da implementação real ou dos endereços de objetos na memória física. É um dos padrões de design comportamental do Gang of Four.

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

865
Como iterar através de duas listas em paralelo?

Eu tenho dois iterables em Python, e quero passar por eles em pares: foo = (1, 2, 3) bar = (4, 5, 6) for (f, b) in some_iterator(foo, bar): print "f: ", f, "; b: ", b Isso deve resultar em: f: 1; b: 4 f: 2; b: 5 f: 3; b: 6 Uma maneira de fazer isso é iterar sobre os índices: for i in...

543
Regras de invalidação do iterador

Quais são as regras de invalidação do iterador para contêineres C ++? De preferência em um formato de lista resumida. (Observação: isso deve ser uma entrada para as Perguntas frequentes sobre C ++ do Stack Overflow . Se você quiser criticar a idéia de fornecer uma FAQ neste formulário, a...

468
Como converter um iterador em um fluxo?

Estou procurando uma maneira concisa de converter um Iteratorpara um Streamou mais especificamente para "visualizar" o iterador como um fluxo. Por motivos de desempenho, gostaria de evitar uma cópia do iterador em uma nova lista: Iterator<String> sourceIterator = Arrays.asList("A", "B",...

241
Conversão Iterator para ArrayList

Dado Iterator<Element>, como podemos converter que Iteratora ArrayList<Element>(ou List<Element>) na melhor e mais rápida maneira possível, de modo que podemos usar ArrayList's operações nele, como get(index), add(element),

200
Vetores C ++ STL: obtém o iterador do índice?

Então, escrevi um monte de código que acessa elementos em um vetor stl pelo index [], mas agora eu preciso copiar apenas uma parte do vetor. Parece que vector.insert(pos, first, last)é a função que eu quero ... exceto que eu tenho apenas o primeiro e o último como ints. Existe alguma maneira legal...