Встречается на собеседованиях • сегодня

Как обратиться к элементу по индексу в генераторе в Python

Генераторы в Python являются итераторами и не поддерживают индексирование напрямую, так как генерируют элементы "на лету". Для доступа к элементу по индексу можно:

  1. Преобразовать генератор в список и затем обратиться по индексу:
python
gen = (x for x in range(10))
lst = list(gen)
print(lst[3])  # 3
  1. Использовать itertools.islice для получения элемента по индексу без полного преобразования:
python
from itertools import islice

gen = (x for x in range(10))
third = next(islice(gen, 2, 3))
print(third)  # 2

Важно помнить, что генераторы одноразовые - после использования элементов они истощаются. Для многократного доступа лучше преобразовать в список.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы