Список — упорядоченный набор значений с индексами от нуля. Большинство задач — сумма, подсчёт, максимум, сортировка — решается одним проходом в цикле или встроенной функцией.
Что нужно знать
- Создание: [5, 3, 8], [0] * n, генератор [i * i for i in range(n)], случайные — [randint(1, 6) for i in range(10)].
- Ввод в строку: a = list(map(int, input().split())).
- Индексы 0…len(a) − 1, a[−1] — последний; срезы как у строк: a[1:4] — индексы 1, 2, 3.
- Сумма: s = 0; for x in a: s += x (или sum(a)). Подсчёт по условию: k += 1 внутри if. Максимум: m = a[0]; если x > m — m = x (или max(a)).
- b = a — НЕ копия, а вторая ссылка. Копия: a.copy(), a[:], list(a).
- На месте (возвращают None): append, insert, remove, sort, reverse. Новый список: sorted(a), a + b, срезы.
- Пузырёк: сравнивать соседей и менять, если левый больше; после k-го прохода последние k элементов на месте. n − 1 проходов достаточно.
- Среднее: sum(a) / len(a) — вещественное число.
Где чаще всего ошибаются
- Писать b = a и думать, что изменения b не затронут a.
- Сохранять результат a.sort() в переменную — там будет None.
- Брать a[−1] как наибольший элемент неотсортированного списка.
- Начинать поиск максимума с m = 0 — для списка из отрицательных чисел ответ будет неверным.
Проверить себя
По этой же теме курса есть проверочная работа из 15 заданий на 25 минут. Проверка автоматическая, результат виден сразу — и по работе целиком, и по каждой теме.
Программирование на Python и C++ · 8 класс · Python: списки и их обработка