"Информатика (базовый и углублённый уровни) (в 2 частях)", Поляков К.Ю., Еремин Е.А.
Список в Python хранит несколько значений в заданном порядке и позволяет обращаться к ним по индексам. Списки используют, когда нужно обрабатывать набор данных: например, оценки, числа или названия. Их записывают в квадратных скобках, а нумерация элементов начинается с нуля. Список можно изменять после создания: заменять значения и добавлять новые. Срезы помогают получать части списка, а функция len и циклы — узнавать его длину и перебирать элементы.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Список — упорядоченная изменяемая последовательность элементов, обозначаемая в Python квадратными скобками. Упорядоченность означает, что у каждого значения есть своё место, а изменяемость позволяет менять содержимое списка после создания. Списки удобны для хранения и обработки набора связанных данных.
Элемент списка — отдельное значение последовательности. Например, в списке [4, 7, 2] три элемента; они могут быть не только числами, но и строками или значениями разных типов. Понимание того, что считается отдельным элементом, помогает правильно считать значения и выбирать нужное.
Индекс — номер элемента в списке: нумерация начинается с 0, а отрицательные индексы отсчитываются с конца. Поэтому первый элемент имеет индекс 0, второй — 1, а последний можно обозначить индексом −1. Индексы нужны, чтобы точно обратиться к значению или заменить его.
Срез — способ получить часть списка, задав границы и, при необходимости, шаг. Например, срез может выбрать несколько соседних элементов или каждый второй элемент. Он нужен, когда требуется обработать не весь список, а только определённую его часть.
Список создают перечислением элементов в квадратных скобках, разделяя значения запятыми: a = [4, 7, 2]. Python сохраняет заданный порядок, поэтому элементы останутся на своих местах, пока программа не изменит список. Если данных пока нет, можно создать пустой список записью a = []; это удобно, когда значения будут добавляться в ходе работы программы.
Чтобы получить элемент, указывают имя списка и индекс в квадратных скобках: например, a[0]. Нумерация начинается с нуля, потому что индекс обозначает, насколько далеко элемент находится от начала: у первого смещение равно нулю. Отрицательные индексы считают с противоположного конца, поэтому a[-1] позволяет обратиться к последнему элементу, не вычисляя его положительный индекс.
Списки изменяемы, поэтому присваивание по индексу заменяет уже существующий элемент: a[1] = 10. Это не создаёт дополнительное значение, а меняет то, что хранится на указанной позиции. Для добавления используют методы: append(x) помещает x в конец, а insert(i, x) вставляет его перед элементом с индексом i. Так можно пополнять список, не создавая его заново.
Срез записывают в форме a[start:stop:step], где start — начало, stop — граница окончания, а step — шаг между выбираемыми индексами. Правая граница не включается: запись a[1:4] берёт элементы с индексами 1, 2 и 3, но не 4. Если начало или конец пропущены, Python использует соответственно начало или конец списка; шаг можно не указывать, тогда он равен 1. Срез позволяет получить часть последовательности в виде нового списка.
Функция len(a) возвращает количество элементов, поэтому с её помощью можно узнать длину списка и проверить, сколько значений предстоит обработать. Чтобы пройти список целиком, используют цикл, например for x in a: — на каждом повторении x принимает очередной элемент. Такой перебор нужен для вычислений и проверок каждого значения. Если же программе необходим номер позиции, цикл можно организовать по индексам, учитывая, что последний допустимый индекс на единицу меньше длины.
| Действие | Запись | Результат |
|---|---|---|
| Создание списка | a = [элементы] | Создаёт список из перечисленных значений |
| Доступ к элементу | a[i] | Возвращает элемент с индексом i |
| Замена элемента | a[i] = значение | Записывает новое значение на позицию i |
| Получение среза | a[start:stop:step] | Возвращает часть списка |
| Добавление элемента в конец | a.append(x) | Добавляет x после последнего элемента |
| Определение длины | len(a) | Возвращает число элементов |
Выбирайте запись по задаче: индекс подходит для одного элемента, а срез — для части последовательности. Если нужно пополнить список, применяйте append, а для подсчёта элементов — len. Проверяйте, что индекс существует, прежде чем обращаться к значению.
Задача 1. Для списка a = [4, 7, 2] определить значения a[0] и a[-1]. Здесь нужно найти элементы с двух разных концов списка: первый задаётся обычным индексом, последний — отрицательным. Сначала перечислим позиции, чтобы не перепутать нумерацию.
Ответ: a[0] = 4, a[-1] = 2. Проверка проста: при движении от начала нумерация начинается с нуля, а при движении от конца последний элемент имеет индекс −1.
Задача 2. Дан список чисел. Нужно заменить его второй элемент на 10 и добавить число 5 в конец. Сначала важно отличить позицию элемента от его значения: второй элемент находится по индексу 1. Добавление в конец выполняется отдельно от замены.
Ответ: используйте a[1] = 10 и a.append(5). В примере результат — [3, 10, 6, 5]; конкретный список после обработки зависит от исходных значений.
Задача 3. Дан список целых чисел. Требуется создать новый список из элементов с чётными индексами, а затем найти его длину. Под чётными индексами понимаются позиции 0, 2, 4 и далее, а не обязательно чётные значения самих чисел. Это различие помогает выбрать правильный шаг среза.
Ответ: список создаётся выражением b = a[::2], его длина находится как len(b). Например, для a = [9, 4, 6, 3, 8] получим b = [9, 6, 8] и len(b) = 3.
Для работы со списками нужны знания о переменных, типах данных, строках и циклах. Индексация строк похожа на индексацию списков: в обоих случаях элементы можно выбирать по позиции, хотя строка не изменяется так же, как список. Циклы позволяют последовательно обрабатывать значения списка, а не выполнять одинаковые действия вручную.
Списки применяют при обработке наборов данных, например при сортировке чисел или поиске нужного элемента. Когда список освоен, проще перейти к двумерным спискам: они позволяют представлять строки и столбцы таблицы. На их основе строят алгоритмы обработки таблиц и других структурированных данных.
Как создать пустой список?
Пустой список записывают так: a = []. В нём пока нет элементов, но их можно добавить позднее, например методом append.
Почему первый элемент списка имеет индекс 0?
В Python индекс показывает смещение элемента от начала списка. Первый элемент не смещён, поэтому его индекс равен 0, а следующий имеет индекс 1.
Как получить последний элемент списка?
Последний элемент можно получить с помощью индекса −1: a[-1]. Отрицательные индексы отсчитываются от конца списка.
Чем срез отличается от обращения к одному элементу?
Обращение по индексу возвращает один элемент, например a[2]. Срез задаёт диапазон индексов и возвращает отдельный список, например a[1:4].
Как добавить новый элемент в конец списка?
Используйте метод append: a.append(x). Он добавит значение x после всех элементов списка.
§ 41. Списки