Как обратиться к элементу по индексу в генераторе в Python
Python
Middle
Т-Банк
Как обратиться к элементу по индексу в генераторе в Python
Ответы
Генераторы в Python являются итераторами и не поддерживают индексирование напрямую, так как генерируют элементы "на лету". Для доступа к элементу по индексу можно:
- Преобразовать генератор в список и затем обратиться по индексу:
```
gen = (x for x in range(10))
lst = list(gen)
print(lst[3]) # 3
```
- Использовать `itertools.islice` для получения элемента по индексу без полного преобразования:
```
from itertools import islice
gen = (x for x in range(10))
third = next(islice(gen, 2, 3))
print(third) # 2
```
Важно помнить, что генераторы одноразовые - после использования элементов они истощаются. Для многократного доступа лучше преобразовать в список.