Введение в Python. Часть 10. Генераторы списков
Как сократить свой код до одной строчки
На позапрошлом уроке мы узнали, как работать со списками в Python. Теперь изучим, как можно создавать списки более быстрым и красивым с точки зрения синтаксиса способом.
Для решения одной практической задачи, нам нужно создать список с годами с 2000 по 2019. Мы можем сделать это так:
Помним, что по правилам срезов в Питоне к последнему элементу нужно прибавлять +1.
Нам понадобилось написать три строчки кода, чтобы решить эту задачи. Но м ожно сделать тоже самое с помощью одной строки. Для этого мы будем использовать то, что в Python называется List comprehensions, а по-русски их называют списковыми включениями или генераторами списков.
Строка, которую мы написали, и есть генератор списка. Заключается она в квадратные скобки: так мы всегда создаем списки. Первая часть — это, что мы делаем с элементом. В данном случае мы его просто добавляем в список. Но могли бы, например, еще удвоить:
Дальше повторяем наш элемент, с которым работаем, и указываем, откуда мы его берем: то есть прописываем одной строкой весь цикл for с функцией range.
Давайте поработаем теперь с реальными данными. Возьмем с сайта федеральной службы государственной статистики данные о количестве населения в России, которое живет за чертой прожиточного минимума — то есть количество бедного населения. Доступные года за 21 век есть с 2001 по 2019. С сайта можно скачать таблицу в формате эксель. Пока мы перенесем вручную нужные там данные. А на следующем уроке расскажем, как работать с файлами на вашем компьютере в Python.
Теперь у нас есть список с годами, который мы создали ранее, и список с количеством бедных россиян в миллионах человек. Логично будет сделать из этих данных словарь. Мы уже с вами учили функцию zip, давайте используем ее и генератор словарей для создания словаря.