Глава 11 · Очень много информации!

Ещё больше интересного со списками!

Полезные встроенные функции, вложенные списки и более компактный способ строить новые списки.

Ещё несколько приёмов, которые часто пригождаются при работе со списками.

len(), min(), max(), sum()

vstroennye_funkcii.py
chisla = [4, 8, 15, 16, 23, 42]
print(len(chisla))   # 6 — количество элементов
print(min(chisla))   # 4
print(max(chisla))   # 42
print(sum(chisla))   # 108

Перебор списка циклом for

perebor_spiska.py
fruits = ["яблоко", "банан", "вишня"]
for fruit in fruits:
    print(fruit)

Списки списков (вложенные списки)

Элементом списка может быть другой список — так получаются таблицы (матрицы):

vlozhennye_spiski.py
matrix = [[1, 2, 3], [4, 5, 6]]
print(matrix[0])      # [1, 2, 3] — первая строка
print(matrix[0][1])   # 2 — второй элемент первой строки
Построение списка: цикл с append() → генератор списков
Классический подход
kvadraty = []
for n in range(1, 6):
    kvadraty.append(n ** 2)
print(kvadraty)
Современный Python (list comprehension)
kvadraty = [n ** 2 for n in range(1, 6)]
print(kvadraty)
Что использовать сегодня: list comprehension (генератор списков) для простых случаев — он существует в Python с версии 2.0, так что это не вопрос новизны, а вопрос стиля: короче и, при некоторой практике, читается как одно предложение («квадрат n для каждого n из диапазона»). Для более сложной логики (с несколькими условиями или побочными эффектами) цикл с append() часто остаётся понятнее — это не всегда "хуже", выбирайте то, что легче прочитать.
Практика в Jupyter Notebook
11-04-eshche-o-spiskah.ipynb · len/min/max/sum, вложенные списки, list comprehension
Открыть ноутбук →