Встречается на собеседованиях • сегодня
Какие знаешь не списковые генераторы
В Python, помимо списковых генераторов (`list comprehension`), существуют другие виды генераторов:
1. **Генераторы словарей (`dict comprehension`)**
```python
squares = {x: x**2 for x in range(5)} # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
```
2. **Генераторы множеств (`set comprehension`)**
```python
unique_chars = {c for c in 'hello'} # {'h', 'e', 'l', 'o'}
```
3. **Генераторные выражения (`generator expressions`)**
Ленивые аналоги списковых генераторов, создаются с круглыми скобками:
```python
gen = (x**2 for x in range(5)) # at ...>
next(gen) # 0
```
4. **Генераторы функций (`generator functions`)**
Используют `yield` вместо `return`:
```python
def count_up_to(n):
i = 1
while i <= n:
yield i
i += 1
```
**Ключевое отличие:** Генераторные выражения и функции ленивы (экономят память), тогда как списковые/словарные/множественные генераторы создают объект сразу.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы