ym97433607
Списки в Python: методы, функции и работа с list

Списки в Python

15 минут на чтение
24 апреля 2026
Попробуйте Гигачат
Он умеет работать с текстом, решать задачи, помогать с программированием, обсуждать разнообразные темы и генерировать изображения по описаниям.
Общение с GigaChat 2.0
Ввод голосом и озвучивание ответа
Поиск по интернету
Создание картинок
Работа с файлами
Создание открыток
Распознавание изображений
Умный редактор текста

В статье разбираем списки в Python: что это, как создавать, какие операции с ними существуют, какие ошибки допускают новички и как Гигачат поможет их избежать.

Что такое списки в Python

Списки  это один из типов данных языка Python. Их используют для хранения упорядоченных коллекций элементов. В отличие от строк и кортежей, списки изменяемы: после создания можно добавлять, удалять или изменять содержимое, не создавая новый объект.

Элементами списка могут быть любые объекты: строки, числа, логические значения, функции, другие списки. К элементам легко обращаться по индексам, а производительность остается высокой, даже если операций много.

Зачем нужны списки и где они применяются

Их используют почти во всех программах: везде, где нужно работать с набором данных. Приведем примеры:

  • хранение и обработка данных (однотипных или разнородных);
  • накопление результатов вычислений;
  • обработка пользовательского ввода;
  • алгоритмы;
  • работа с базами данных;
  • машинное обучение;

Списки универсальны, поэтому они часто становятся инструментом, который осваивают начинающие разработчики в первую очередь.

Создание списков в Python

Создание списка через квадратные скобки

Наиболее простой способ  записать элементы внутри квадратных скобок через запятую:

numbers = [1, 2, 3, 4, 5]

Если вы не знаете, какие элементы нужно внести, или создаете заготовку для добавления данных позже (например, в цикле), нужен пустой список:

empty = []

Как мы говорили выше, объекты могут быть любыми:

Python списки

Если внутри повторяется одно и то же значение, запись может выглядеть так:

zeros = [0] * 5 # [0, 0, 0, 0, 0]

Создание списка с помощью функции list()

Чтобы создать пустой список через list(), достаточно написать:

empty = list()

Особенность функции list() в том, что она умеет преобразовывать в список другие объекты:

Python списки 1

Это полезно, когда нужно получить доступ к элементам по индексам, изменить или отсортировать их.

Также можно создать список из последовательности чисел, например:

Python списки 2

Доступ к элементам списка

Индексация элементов

Индекс  это порядковый номер элемента. В Python индексация начинается с нуля  первый элемент имеет индекс 0, второй  1 и так далее. Чтобы найти значение по индексу, используется такой синтаксис:

numbers[индекс]

Например:

Python списки 3

Через индекс также можно изменить элемент:

Python списки 4

Если обратиться к индексу, которого не существует, Python выдаст ошибку IndexError. Чтобы избежать ее, используют функцию len() (возвращает длину списка):

len(numbers) # 5

Допустимые индексы при этом от нуля до 4.

Иногда к элементам можно обращаться через двойную индексацию:

Python списки 5

Отрицательная индексация

Отрицательные индексы полезны, когда нужно обратиться к элементам с конца. Последний элемент имеет индекс 1, предпоследний  2 и так далее. Например:

Python списки 6

Это удобнее, чем использовать альтернативную запись:

numbers[len(numbers) — 1]

Срезы списков

Срезы  это механизм Python, который помогает получать части списков без циклов. Общий синтаксис имеет вид список[start:stop:step], где:

  • start  индекс, с которого срез начинается (включительно);
  • stop  индекс окончания среза;
  • step  шаг (значение по умолчанию  1).

Простой пример:

Python списки 7

Параметры можно пропускать  тогда Python подставит значения по умолчанию:

Python списки 8

Если нужно обработать список в обратном порядке, используется отрицательный шаг:

numbers[::-1] # [5, 4, 3, 2, 1]

Индекс также может быть отрицательным:

numbers[-4:-1] # [2, 3, 4]

С помощью срезов можно изменить значения:

numbers[1:3] = [10, 20] # [1, 10, 20, 4, 5]

Объединение и копирование списков

Наиболее простой способ объединить списки  использовать оператор +. В отличие от append(), он создает новый список, исходный при этом не меняется:

Python списки 9

Для копирования списков используют метод copy():

Python списки 10

Перебор элементов списка

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

Цикл for  это главный инструмент для перебора. Он берет первый элемент, выполняет блок кода и переходит к следующему. Процесс заканчивается, когда элементов не остается.

С помощью for можно вывести все элементы на экран:

Python списки 11

Но чаще цикл комбинируют с условными конструкциями:

Python списки 12

Если внутри списка есть вложенные структуры, используют вложенные циклы:

Python списки 13

Перебор с помощью функции enumerate()

Функция enumerate() возвращает пары: индекс и элемент. Например:

Python списки 14

Также она позволяет задать начальное значение индекса (иногда это удобнее для разработчика):

Python списки 15

С помощью enumerate() можно найти элемент по индексу:

Python списки 16

Методы списков Python

Методы добавления элементов (append, extend, insert)

append() добавляет один элемент в конец списка:

Python списки 16

Метод extend() добавляет в список все элементы из другого итерируемого объекта (строки, кортежи и т. д.):

Python списки 17

Метод insert() вставляет элемент по указанному индексу:

Python списки 18

Индексы всех элементов справа сдвинулись на 1.

Методы удаления элементов (remove, pop, clear)

remove() удаляет только первое найденное значение (не индекс) из списка:

Python списки 19

Если такого значения нет, Python выдаст ValueError.

Метод pop() удаляет элемент по индексу и возвращает его:

Python списки 20

Метод clear() очищает список (при этом сам объект не удаляется):

Python списки 21

Метод del() позволяет удалять срезы:

Python списки 22

Методы поиска и сортировки

Для поиска используют метод index() он возвращает индекс первого совпадения:

Python списки 23

Есть метод count(), который позволяет узнать, сколько раз элемент встречается в списке:

Python списки 24

Хотя оператор in  не метод, его также используют для поиска, поэтому приведем пример с ним:

Python списки 25

Главный метод сортировки  sort():

Python списки 26

Обратите внимание: он меняет исходный список. Если нужно сохранить его вид, используют sorted(), который возвращает новый список:

Python списки 27

Генераторы списков (list comprehensions)

Генератор списка  это конструкция в Python, которая позволяет создать новый список из итерируемого объекта (или существующей последовательности) в одну строку. Например:

Python списки 28

Такая запись более читаемая и краткая, чем стандартный способ создания списка.

Сюда можно добавить условие:

Python списки 29

Типичные ошибки при работе со списками

  • Трудности с концепцией индексов. Начинающий разработчик может выходить за границы списка (из-за того, что значение последнего индекса на единицу меньше, чем длина) и допускать ошибки в работе с отрицательной индексацией. Обычно эта проблема решается практикой.
  • Непонимание разницы между sort() и sorted(). Метод sort() меняет исходный список и ничего не возвращает, поэтому при такой записи нельзя ожидать список:
Python списки 30

*Ошибки при копировании списка. Правильно использовать метод copy(), а такой код означает, что переменные a и b ссылаются на один объект:

Python списки 31

Как ИИ-помощник Гигачат помогает изучать списки Python

Начинающие разработчики часто встречают трудности и не всегда могут найти ответы на свои вопросы в интернете или книгах. Гигачат  бесплатная нейросеть от Сбера  поможет справиться со многими сложностями в обучении.

Простые объяснения сложных тем

Хотя в программировании есть сложные темы, большинство только кажутся такими из-за сложных формулировок. Нейросеть умеет адаптировать объяснения под уровень и запрос пользователя: например, иногда людям легче усваивать знания через аналогии из жизни.

Кроме того, ИИ может разбить тему на шаги: сначала дать теорию, потом показать код на Python и объяснить, что происходит в каждой строке. Дополнительно Гигачат сформулирует вопросы или задания, чтобы вы закрепили тему.

Генерация примеров кода под задачи пользователя

Опишите задачу Гигачату, и он напишет решающую ее программу несколькими способами. Рассматривая разные варианты, вы не только поймете, как сделать что-либо, но и найдете наиболее удобный способ.

Помимо генерации примеров, нейросеть может объяснить каждую строку и показать, как меняются данные в ходе выполнения программы.

Все это поможет учиться быстрее, поскольку не нужно будет тратить время на поиск конкретных примеров на форумах или в учебниках по Python.

Помощь в поиске и исправлении ошибок в коде

Любая программа может содержать ошибки  это нормальная часть обучения. Иногда найти их довольно просто, но бывают ситуации, когда на поиск ошибки уходят часы.

Гигачат умеет быстро анализировать код на Python, находить ошибки и объяснять, из-за чего они возникают. Он также генерирует исправленную версию программы, рассказывает, что изменилось и почему код стал работать.

Обучение через ошибки помогает лучше понять поведение списков, запомнить типичные проблемы в коде и писать корректные программы быстрее.

Оцените статью
Ещё по теме
СберБанк обрабатывает Cookies с целью персонализации сервисов и для того, чтобы пользоваться сайтом было удобнее. Вы можете запретить обработку Cookies в настройках браузера. Пожалуйста, ознакомьтесь с политикой использования Cookies
Подробно рассказываем, как CберБанк обрабатывает и защищает ваши данные на странице Sber Bank Privacy