Генераторы
Содержание
В языке Python есть несколько методов создания списков и словарей, которые известны как генераторы.
Генераторы списков
Генератор списка - это выражение, которое генерирует список значений на основе каких-то правил. Вместо того, чтобы создавать список целиком и хранить его в памяти, генератор списка генерирует значения по мере их запроса.
squares = [x*x for x in range(10)]
Эта строка создает генератор списка, который генерирует квадраты чисел от 0 до 9. Затем можно перебрать элементы этого генератора с помощью цикла:
В Python есть функция range
, которая может возвращать список чисел. По умолчанию она возвращает целые числа, начиная с 0 и заканчивая числом, которое вы ей передали, но не включая его. В данном случае она возвращает список, содержащий целые числа 0-9
.
for square in squares:
print(square)
Генераторы словарей
Генератор словаря работает аналогично генератору списка, но вместо списка мы создаем словарь с помощью фигурных скобок и пары “ключ: значение”.
my_dict = {x: x**2 for x in range(5)}
print(my_dict)
# Вывод: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}
Генератор множеств
Генератор множества используется аналогично генератору списка, но вместо списка мы создаем множество с помощью фигурных скобок.
my_set = {x**2 for x in range(5)}
print(my_set)
# Вывод: {0, 1, 4, 9, 16}
Здесь мы создаем множество my_set
с элементами, равными квадратам чисел от 0 до 4.
Ресурсы: