Вопросы с тегом 'iterator'

Итератор представляет собой объектно-ориентированный шаблон программирования, который позволяет обходить коллекцию, агностик фактической реализации или адреса объектов в физической памяти. Это один из моделей поведения поведенческих моделей Gang of Four.
41
ответ

Что делает ключевое слово "yield"?

Каково использование ключевого слова yield в Python? Что он делает? Например, я пытаюсь понять этот код 1: def _get_child_candidates(self, distance, min_dist, max_dist): if self._leftchild and distance - max_dist < self._median: y...
задан 24 окт. '08 в 1:21
7
ответов

Как прокручивать два списка параллельно?

У меня есть два итератива в Python, и я хочу перебирать их в парах: foo = (1, 2, 3) bar = (4, 5, 6) for (f, b) in some_iterator(foo, bar): print "f: ", f, "; b: ", b Это должно привести к: f: 1; b: 4 f: 2; b: 5 f: 3; b: 6 Один из способов ...
задан 03 нояб. '09 в 0:26
11
ответов

Вызов удаления в цикле foreach в Java

В Java разрешено ли вызывать удаление в коллекции при повторении через коллекцию с использованием цикла foreach? Например: List<String> names = .... for (String name : names) { // Do something names.remove(name). } В качестве дополнени...
задан 28 июля '09 в 23:39
4
ответов

Правила аннулирования Iterator

Каковы правила аннулирования итератора для контейнеров С++? Предпочтительно в формате сводных списков. <суб > (Примечание: это означает запись в Часто задаваемые вопросы о переполнении стека С++. Если вы хотите критиковать идею предоставлени...
задан 22 июня '11 в 13:01
6
ответов

Создайте базовый итератор Python

Как создать итеративную функцию (или объект-итератор) в python?
задан 21 авг. '08 в 3:36
7
ответов

Каков наиболее эффективный способ получить индекс итератора std::vector?

Я повторяю вектор и нуждаюсь в индексе, на который указывает итератор. AFAIK это можно сделать двумя способами: it - vec.begin() std::distance(vec.begin(), it) Каковы плюсы и минусы этих методов?
задан 28 янв. '10 в 10:40
7
ответов

Разница между генераторами Python и итераторами

В чем разница между итераторами и генераторами? Некоторые примеры того, когда вы будете использовать каждый случай, будут полезны.
задан 06 мая '10 в 0:14
9
ответов

Что такое протоколы итератора Python, итерации и итерации?

Каковы основные определения "итерабельный", "итератор" и "итерация" в Python? Я читал несколько определений, но их точное значение все равно не утонет. Может кто-нибудь, пожалуйста, помогите мне с основной идеей?
задан 27 марта '12 в 9:03
6
ответов

Как реализовать итератор стиля STL и избежать распространенных ошибок?

Я создал коллекцию, для которой я хочу предоставить итератор с произвольным доступом в стиле STL. Я искал пример реализации итератора, но я не нашел его. Я знаю о необходимости перегрузки констант операторов [] и *. Каковы требования для того, чтобы...
задан 08 нояб. '11 в 20:06
10
ответов

Сортировка вектора в порядке убывания

Должен ли я использовать std::sort(numbers.begin(), numbers.end(), std::greater<int>()); или std::sort(numbers.rbegin(), numbers.rend()); // note: reverse iterators чтобы отсортировать вектор в порядке убывания? Есть ли какие-либо выго...
задан 26 янв. '12 в 23:47
10
ответов

Как избежать "ConcurrentModificationException" при удалении элементов из "ArrayList" при его повторении?

Я пытаюсь удалить некоторые элементы из ArrayList, итерации следующим образом: for (String str : myArrayList) { if (someCondition) { myArrayList.remove(str); } } Конечно, я получаю ConcurrentModificationException при попытке удал...
задан 26 авг. '13 в 19:27
5
ответов

Как конвертировать итератор в поток?

Я ищу сжатый способ преобразования Iterator в Stream или, более конкретно, "просмотр" итератора как потока. По соображениям производительности я хотел бы избежать копирования итератора в новом списке: Iterator<String> sourceIterator = Arrays....
задан 01 июля '14 в 16:05
25
ответов

Зачем использовать итераторы вместо индексов массива?

Возьмите следующие две строки кода: for (int i = 0; i < some_vector.size(); i++) { //do stuff } И это: for (some_iterator = some_vector.begin(); some_iterator != some_vector.end(); some_iterator++) { //do stuff } Мне говорят, что...
задан 25 сент. '08 в 5:58
5
ответов

Как я могу перебирать файлы в заданном каталоге?

Мне нужно выполнить итерацию через все .asm файлы внутри заданного каталога и выполнить некоторые действия над ними. Как это можно сделать эффективным образом?
задан 30 апр. '12 в 5:58
7
ответов

Почему стандартные итераторы диапазона [begin, end] вместо [begin, end]?

Почему стандарт определяет end() как один за концом, а не на самом конце?
задан 01 апр. '12 в 12:40