Python: уроки, справочник и задачи

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

Раздел: Списки, кортежи и множества · Обновлено 31.10.2026

Методы списка Python позволяют добавлять, вставлять, удалять, искать и переставлять элементы прямо в существующем объекте list. Ниже для каждого метода есть синтаксис, параметры, возвращаемое значение и примеры, а также типичные ошибки вроде ValueError и IndexError. В конце собрана сводная таблица и ответы на частые вопросы.

В этой статье собраны практически все методы списка python.

Методы списка в Python с примерами кода
Фото: Bruce Turner from AustinTX / CC BY 2.0, Wikimedia Commons
Содержание статьи
  1. Python list append
  2. List extend
  3. Python list insert
  4. List remove python
  5. Python List count
  6. Python List pop
  7. Python List reverse
  8. Python List copy
  9. Python List index
  10. Метод clear() и оператор del
  11. Сводная таблица методов списка
  12. Частые вопросы

Python list append

Метод append() используется для добавления нового элемента в список. При использовании данного метода новый элемент добавляется в конец списка.

currencies = ['Dollar', 'Euro', 'Rub']
# Добавление в список
currencies.append('Yen')
print(currencies)
# Результат: ['Dollar', 'Euro', 'Rub', 'Yen']

Принимаемые параметры

Метод append() принимает один единственный аргумент

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

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

# Список животных
animals = ['cat', 'dog', 'rabbit']
# Добавление нового животного в список
animals.append('guinea pig')
print('Обновленный список животных: ', animals)

Пример 2. Добавление списка в список

Выше, в принимаемых параметрах, мы с вами определили, что список может принимать другой список.

# Список домашних животных
animals = ['cat', 'dog', 'rabbit']
# Список диких животных
wild_animals = ['tiger', 'fox']
# Добавление списка диких животных
animals.append(wild_animals)
print('Обновленный список животных: ', animals)

Необходимо отметить один момент. Бывают ситуации, когда нам надо добавить в список элементы из списка, а не сам список, в такой момент, можно воспользоваться методом extend(), о котором мы поговорим ниже.

List extend

Метод extend() в отличии от метода append(), добавляет элементы списка, в список. Так же как и при использовании метода append(), метод extend() добавляет новые элементы в конец списка.

# Список 1
prime_numbers = [2, 3, 5]
# Список 2
numbers = [1, 4]
# Добавляем все элементы prime_numbers в numbers
numbers.extend(prime_numbers)
print('Обновленный список:', numbers)
# Результат: После метода extend(): [1, 4, 2, 3, 5]

Принимаемые параметры (List extend)

Метод extend() принимает любой итерируемый объект, например:

Пример 1. Используем метод extend()

# Список языков
languages = ['French', 'English']
# Другой список языков
languages1 = ['Spanish', 'Portuguese']
# Добавляем languages1 в список languages
languages.extend(languages1)
print('Обновленный список:', languages)

Пример 2. Добавляем в список кортежи и множества

# Список
languages = ['French']
#Кортеж
languages_tuple = ('Spanish', 'Portuguese')
# Множества
languages_set = {'Chinese', 'Japanese'}
# Добавляем в список кортеж
languages.extend(languages_tuple)
print('Обновленный список:', languages)
# Добавляем множества в наш список
languages.extend(languages_set)
print('Обновленный список:', languages)
#Результат
New Languages List: ['French', 'Spanish', 'Portuguese']
Newer Languages List: ['French', 'Spanish', 'Portuguese', 'Japanese', 'Chinese']

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

Пример 3. Оператор "+"

Максимально простой способ.

a = [1, 2]
b = [3, 4]
a += b    # a = a + b
# Output: [1, 2, 3, 4]
print('a =', a)
#Результат
a = [1, 2, 3, 4]

Пример 4. Срез и объединение

a = [1, 2]
b = [3, 4]
a[len(a):] = b
# Результат: [1, 2, 3, 4]
print('a =', a)

Python list insert

Списки в python, являются довольно гибким инструментом. Метод insert(), позволяет добавлять элементы между текущими элементами списка. Рассмотрим небольшой пример.

# Открываем список
vowel = ['a', 'e', 'i', 'u']
# передаем позицию, и вставляемый элемент
vowel.insert(3, 'o')
print('Список:', vowel)
# Результат: List: ['a', 'e', 'i', 'o', 'u']

Синтаксис метода insert()

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

list.insert(i,элемент)

В данном случаем, i это позиция, куда надо вставить нужный нам элемент, а вторым аргументом является непосредственно сам вставляемый элемент.

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

# Список с числами
prime_numbers = [2, 3, 5, 7]
#Добавляем число 11 в 4ю позицию
prime_numbers.insert(4, 11)
print('List:', prime_numbers)
# Результат
List: [2, 3, 5, 7, 11]

Пример 2. вставка кортежа в список

mixed_list = [{1, 2}, [5, 6, 7]]
# Кортеж с числами
number_tuple = (3, 4)
# вставляем элементы кортежа в список
mixed_list.insert(1, number_tuple)
print('Обновленный список:', mixed_list)
#Результат
Обновленный список: [{1, 2}, (3, 4), [5, 6, 7]]

List remove python

Метод remove() используется для удаления элементов из списка. Данный метод удаляет первый соответствующий переданному аргументу элемент списка.

# Открываем список
prime_numbers = [2, 3, 5, 7, 9, 11]
# Удаляем 9
prime_numbers.remove(9)
# Печатаем список
print('Обновленный список: ', prime_numbers)
# Результат: Обновленный список:  [2, 3, 5, 7, 11]

Параметры метода remove()

Пример 1. удаляем элемент из списка

# Список животных
animals = ['cat', 'dog', 'rabbit', 'guinea pig']
# 'rabbit' удаляем
animals.remove('rabbit')
# Печатаем список
print('Обновленный список: ', animals)
Updated animals list:  ['cat', 'dog', 'guinea pig']

Пример 2. Удаление из списка, в котором есть повторяющиеся элементы

# Список животных
animals = ['cat', 'dog', 'dog', 'guinea pig', 'dog']
# 'dog' удаляем
animals.remove('dog')
# Обновляем список
print('Обновленный список: ', animals)
#Результат
Обновленный список:  ['cat', 'dog', 'guinea pig', 'dog']

В случаем, если мы пытаемся удалить методом remove() повторяющиеся элементы списка, мы получим удаление только первого вхождения.

Пример 3. Удаляем несуществующий элемент

# Список животных
animals = ['cat', 'dog', 'rabbit', 'guinea pig']
# Удаляем 'fish' элемент
animals.remove('fish')
# Обновленный список
print('Обновленный список: ', animals)
#Результат
Traceback (most recent call last):
  File ".. .. ..", line 5, in 
    animal.remove('fish')
ValueError: list.remove(x): x not in list

Конечно, при попытке удаления несуществующего элемента мы получим ошибку.

Python List count

Метод count() - является довольно удобной штукой, для подсчета количества повторений элемента в списке.

# Список с числами
numbers = [2, 3, 5, 2, 11, 2, 7]
# Проверяем повторение элемента 2
count = numbers.count(2)
print('Элемент 2 повторяется:', count)
# Результат:Элемент 2 повторяется: 3

Параметры и синтаксис метода count()

Здесь разобраны такие пункты: синтаксис у данного метода довольно простой, параметры метода count().

Синтаксис у данного метода довольно простой

list.count(элемент)

Параметры метода count()

Метод count() принимает только один параметр:

Пример 1. Используем count()

# Список букв
vowels = ['a', 'e', 'i', 'o', 'i', 'u']
# Считаем элемент 'i'
count = vowels.count('i')
# Печатаем результат подсчета
print('Количество элементов i :', count)
# Считаем элемент 'p'
count = vowels.count('p')
# Печатаем результат подсчета
print('Количество элементов p :', count)
#Результат
Количество элементов i: 2
Количество элементов p: 0

Python List pop

Метод pop() работает следующим образом:

# Список чисел
prime_numbers = [2, 3, 5, 7]
# Удаляем элемент с индексом 2
removed_element = prime_numbers.pop(2)
print('Удаленный элемент', removed_element)
# Результат: Удаленный элемент: 5

Параметры метода pop()

Пример 1. Удаляем по заданному индексу

# Список языков программирования
languages = ['Python', 'Java', 'C++', 'French', 'C']
# Удаляем 4ый элемент
return_value = languages.pop(3)
print('Значение:', return_value)
# Updated List
print('Обновленный список:', languages)
#Результат
Return Value: French
Updated List: ['Python', 'Java', 'C++', 'C']

Пример 2. Удаляем без передачи индекса

# Список языков программирования
languages = ['Python', 'Java', 'C++', 'Ruby', 'C']
# Удаляем последний элемент/возвращаем значение
print('When index is not passed:') 
print('Return Value:', languages.pop())
print('Updated List:', languages)
# Удаляем последний элемент/возвращаем значение
print('\nWhen -1 is passed:') 
print('Return Value:', languages.pop(-1))
print('Updated List:', languages)
# Удаляем 3 с конца элемент/возвращаем значение
print('\nWhen -3 is passed:') 
print('Return Value:', languages.pop(-3))
print('Updated List:', languages)
#Результат
When index is not passed:
Return Value: C
Updated List: ['Python', 'Java', 'C++', 'Ruby']
When -1 is passed:
Return Value: Ruby
Updated List: ['Python', 'Java', 'C++']
When -3 is passed:
Return Value: Python
Updated List: ['Java', 'C++']

Также не забывайте об операторе del и методе remove(). Данные элементы так же прекрасно и по своему справляются с удалением элементов из списка.

Python List reverse

По названию данного метода, думаю вам уже понятно для чего он предназначен. Метод reverse() меняет элементы в обратном порядке.

prime_numbers = [2, 3, 5, 7]
prime_numbers.reverse()
print('Reversed List:', prime_numbers)
# Результат: Список в обратном порядке: [7, 5, 3, 2]

Синтаксис и параметры метода reverse()

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

list.reverse()

Пример 1. Список в обратном порядке

# Список с ОС
systems = ['Windows', 'macOS', 'Linux']
print('Оригинальный список:', systems)
# Список reverse
systems.reverse()
# Обновленный список
print('Обновленный список:', systems)
#Результат
Оригинальный список: ['Windows', 'macOS', 'Linux']
Обновленный список: ['Linux', 'macOS', 'Windows']

В этом примере, мы рассмотрели работу метода reverse(), но в Python существуют несколько способов изменения порядка элементов в списке.

Пример 2. Переворачиваем список, с помощью срезов

# Список с ОС
systems = ['Windows', 'macOS', 'Linux']
print('Оригинальный список:', systems)
# Переворачиваем список
# Синтаксис: reversed_list = systems[start:stop:step] 
reversed_list = systems[::-1]
# Обновленный список
print('Updated List:', reversed_list)
#Результат
Original List: ['Windows', 'macOS', 'Linux']
Updated List: ['Linux', 'macOS', 'Windows']

Более подробно про нарезку/срезы.

Python List copy

Метод copy(), копирует нужный нам список. Все достаточно просто.

prime_numbers = [2, 3, 5]
numbers = prime_numbers.copy()
print('Copied List:', numbers)
# Результат: Скопированный список: [2, 3, 5]

Синтаксис и параметры copy()

new_list = list.copy()

Конечно, в python так же предусмотрены и другие методы копирования, ниже приведу небольшой пример того, как можно скопировать список с помощью оператора "="

Копируем список с помощью оператора "="

old_list = [1, 2, 3]
new_list = old_list

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

old_list = [1, 2, 3]
new_list = old_list
# Добавляем новый элемент
new_list.append('a')
print('Новый список:', new_list)
print('Старый список:', old_list)

Python List index

Метод index() возвращает индекс того или иного элемента в списке. Рассмотрим небольшой пример.

animals = ['cat', 'dog', 'rabbit', 'horse']
# передаем методу 'dog'
index = animals.index('dog')
print(index)
# Результат: 1

Синтаксис и параметры метода index()

list.index(element, start, end)

Параметры index()

Метод index() может принимать максимум три параметра:

Метод index(), возвращает индекс только первого вхождения, соответствующего элемента.

Пример 1. Найдем индекс элемента

vowels = ['a', 'e', 'i', 'o', 'i', 'u']
index = vowels.index('e')
print('Индекс элемента:', index)
# Ищем индекс 'i' 
# Получим индекс первого 'i' 
index = vowels.index('i')
print('The index of i:', index)
#Результат
The index of e: 1
The index of i: 2

На самом деле, не думаю что данный пример требует каких либо объяснений. Мы просто передаем элемент, и получаем его индекс.

Пример 2. Индекс элемента которого нет в списке

Тут все достаточно просто, в случае, если в списке отсутствует передаваемый элемент, то вместо индекса, мы получим знакомую нам ошибку ValueError.

alphabets = ['a', 'e', 'i', 'o', 'g', 'l', 'i', 'u']
index = alphabets.index('e')   # 1
print('The index of e:', index)
index = alphabets.index('i', 4)   # 6
print('The index of i:', index)
index = alphabets.index('i', 3, 5)   # Error!
print('The index of i:', index)
#Результат
The index of e: 1
The index of i: 6
Traceback (most recent call last):
  File "<string>", line 7, in <module> 
ValueError: 'i' is not in list

Метод clear() и оператор del

Метод clear() удаляет из списка все элементы и ничего не возвращает. Объект остается тем же самым, поэтому все переменные, которые ссылаются на этот список, тоже увидят пустой список. Присваивание items = [] работает иначе: оно создает новый объект, а старый список у других ссылок не меняется.

items = [1, 2, 3]
alias = items
items.clear()
print(items, alias)  # [] []

items = [1, 2, 3]
alias = items
items = []
print(items, alias)  # [] [1, 2, 3]

del не метод, а оператор языка. Он удаляет элемент по индексу или целый срез и, в отличие от pop(), ничего не возвращает.

nums = [10, 20, 30, 40, 50]
del nums[0]      # [20, 30, 40, 50]
del nums[1:3]    # [20, 50]
del nums[:]      # то же, что nums.clear()
print(nums)      # []

Сводная таблица методов списка

Все методы, кроме copy(), count() и index(), меняют исходный список и возвращают None. Поэтому запись a = a.append(1) превращает переменную в None, это одна из самых частых ошибок новичков.

МетодЧто делаетВозвращаетОшибка
append(x)Добавляет один элемент в конецNone-
extend(iterable)Добавляет все элементы итерируемого объектаNoneTypeError для неитерируемого аргумента
insert(i, x)Вставляет элемент перед индексом iNone-
remove(x)Удаляет первое вхождение значенияNoneValueError
pop(i=-1)Удаляет элемент по индексуУдаленный элементIndexError
clear()Очищает списокNone-
index(x, start, end)Ищет позицию первого вхожденияИндексValueError
count(x)Считает вхожденияЧисло-
sort(key=None, reverse=False)Сортирует на местеNoneTypeError для несравнимых типов
reverse()Разворачивает порядокNone-
copy()Создает поверхностную копиюНовый список-

Сортировке с параметрами key и reverse посвящена отдельная статья про метод sort(). Разницу между поверхностной и глубокой копией подробно разбирает материал о том, как скопировать список. Полное описание типа есть в официальной документации Python.

Частые вопросы

Ответы на вопросы, которые чаще всего возникают при работе с методами list.

Чем append() отличается от extend()?

append() добавляет аргумент целиком как один элемент, даже если это другой список. extend() перебирает аргумент и добавляет каждый его элемент. Например, a.append('ab') добавит строку 'ab', а a.extend('ab') добавит два символа 'a' и 'b'.

Почему метод списка вернул None?

Методы, которые меняют список на месте (append, sort, reverse, insert и другие), возвращают None. Вызывайте их отдельной строкой, а если нужен новый объект, используйте функции sorted() и reversed() или срез [::-1].

Как удалить все вхождения элемента?

remove() удаляет только первое совпадение. Чтобы убрать все, проще собрать новый список: nums = [x for x in nums if x != 2]. Если нужно избавиться от повторов вообще, пригодятся способы из статьи про удаление дубликатов.

Что будет, если передать в insert() индекс больше длины списка?

Ошибки не будет: элемент добавится в конец. Слишком большой по модулю отрицательный индекс вставит элемент в начало.

Как проверить, есть ли элемент в списке, без ошибки?

Используйте оператор in: if 'dog' in animals: i = animals.index('dog'). Так index() и remove() не вызовут ValueError.