Глава 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