iterator ×7
Создан 08.01.2025
0
голоса
1
ответов
3
просмотров
Почему `std::initializer_list` не поддерживает оператор подиндексации?

Вопрос:

Я пишу функцию, которая принимает параметр типа std::initializer_list, названный list, и мне необходимо произвести произвольный доступ к элементам этого списка. Было бы удобно использовать list[i] вместо list.begin()[i]. Однако, почему в std::initializer_list не реализован...

5
голоса
5
ответов
11
просмотров
Каковы преимущества std::distance по сравнению с вычитанием итераторов?

Я итерируюсь по вектору и мне нужен индекс, на который указывает итератор. Какие достоинства и недостатки у следующих методов?

it - vec.begin() std::distance(vec.begin(), it)

6
голоса
5
ответов
17
просмотров
Получить первый элемент из итерируемого объекта, соответствующий условию

Я хотел бы получить первый элемент из списка, соответствующий заданному условию. Важно, чтобы итоговый метод не обрабатывал весь список, который может быть довольно большим. Например, следующая функция работает достаточно хорошо:

def first(the_iterable, condition = lambda x: True):
   ...
9
голоса
5
ответов
26
просмотров
Как перебрать файлы в указанной директории?

Я хочу пройтись по всем файлам с расширением .asm в указанной директории и выполнить с ними определенные действия.

Как это можно сделать эффективно?

12
голоса
4
ответов
35
просмотров
Как пройтись по двум спискам параллельно?

У меня есть два итерируемых объекта, и я хочу проходить по ним парами:

foo = [1, 2, 3]
bar = [4, 5, 6]

for (f, b) in iterate_together(foo, bar):
    print("f:", f, " |  b:", b)

В результате должно получиться:

f: 1  |  b: 4
f: 2  |  b: 5
f: 3  |  b: 6

Один из способов...

8
голоса
5
ответов
32
просмотров
Разница между генераторами и итераторами в Python

В чем разница между итераторами и генераторами? Приведите примеры, когда целесообразно использовать каждый из этих подходов.

6
голоса
5
ответов
37
просмотров
Вызов метода remove в цикле foreach в Java

Проблема с удалением элементов из коллекции в Java при итерации

В Java, легально ли вызывать метод remove на коллекции, когда мы итерируемся по ней с использованием цикла foreach? Например, следующий код вызывает у меня вопросы:

List names = ....;
for (String name : names) {
   //...