PythonУрок 12 из 16

Генераторы списков в Python

Генератор списка — короткий способ построить новый список из старого. То, что обычно занимает цикл с append, помещается в одну строку.

Главное

  • [выражение for x in список] — новый список из преобразованных элементов
  • [x for x in список if условие] — только подходящие элементы
  • Исходный список при этом не меняется
  • sum(), min(), max() и len() отлично работают с результатом
  • Если строка стала нечитаемой, вернитесь к обычному циклу

Пример

squares = [n * n for n in range(1, 6)]print(squares) names = ["anna", "leo", "mia"]print([name.title() for name in names]) prices = [90, 450, 120, 700]cheap = [p for p in prices if p < 200]print(cheap)

Три генератора: квадраты чисел, имена с заглавной буквы и только недорогие цены. Каждый заменил цикл из трёх строк.

Задание

Как пользоваться редактором⌘ Enter или Ctrl Enter — запустить код, ⇧ ⌘ Enter — проверить задание.Tab и Shift Tab сдвигают строку или выделение; Esc, затем Tab — выйти из редактора.Проверка сравнивает то, что напечатала программа, с заданием; пробелы в конце строк не важны.После двух неудачных проверок можно открыть решение. Ваш код сохраняется в этом браузере.

В дневнике погоды пять температур. Перепишите warm генератором списка, чтобы в нём остались только дни от 20 градусов. Среднее посчитается само.

Вывод

Здесь появится то, что напечатает программа.