В Python у списков есть множество методов, описание которых приведено ниже.
Добавление элементов
Метод:
list.append(item)
Описание:
Добавляет один элемент в конец списка.
Параметры:
item — элемент, который будет добавлен. Это может быть число, строка, словарь, другой список и так далее.
Возвращаемое значение:
Модифицирует исходный список. Возвращает None.
Примеры:
Пример 1: Добавление элемента в список.
animals = ['cat', 'dog', 'rabbit']
# добавление элемента
animals.append('guinea pig')
print('Updated animals list: ', animals)
Результат:
Updated animals list: [‘cat’, ‘dog’, ‘rabbit’, ‘guinea pig’]
Пример 2: Добавление списка (как элемента) в другой список.
animals = ['cat', 'dog', 'rabbit']
wild_animals = ['tiger', 'fox']
# добавление списка wild_animals в список animals
animals.append(wild_animals)
print('Updated animals list: ', animals)
Результат:
Updated animals list: [‘cat’, ‘dog’, ‘rabbit’, [‘tiger’, ‘fox’]]
Примечание:
Если вам нужно добавить не список в список (как в примере выше), а элементы одного списка в другой список, используйте метод extend().
Метод:
list.extend(iterable)
Описание:
Добавляет все элементы итерируемого объекта (списка, кортежа, строки и т. д.) в конец списка.
Параметры:
iterable — итерируемый объект, элементы которого будут добавлены в список.
Возвращаемое значение:
Модифицирует исходный список. Возвращает None.
Примечание:
Вы также можете добавить все элементы итерируемого объекта в список, используя:
1. Оператор «+»:
a = [1, 2] b = [3, 4] a += b # Output: [1, 2, 3, 4] print(a)
2. Срезы:
a = [1, 2] b = [3, 4] a[len(a):] = b # Output: [1, 2, 3, 4] print(a)
Примеры:
Пример 1: Добавление элементов одного списка в другой список.
language = ['French', 'English']
language1 = ['Spanish', 'Portuguese']
# добавление элементов списка language1 в список language
language.extend(language1)
print('Language List:', language)
Результат:
Language List: [‘French’, ‘English’, ‘Spanish’, ‘Portuguese’]
Пример 2: Добавление элементов кортежа и множества в список.
language = ['French']
language_tuple = ('Spanish', 'Portuguese')
language_set = {'Chinese', 'Japanese'}
# добавление элементов кортежа language_tuple в список language
language.extend(language_tuple)
print('New Language List:', language)
# добавление элементов множества language_set в список language
language.extend(language_set)
print('Newer Language List:', language)
Результат:
New Language List: [‘French’, ‘Spanish’, ‘Portuguese’]
Newer Language List: [‘French’, ‘Spanish’, ‘Portuguese’, ‘Japanese’, ‘Chinese’]
Метод:
list.insert(index, element)
Описание:
Добавляет элемент в список по указанному индексу.
Параметры:
index – позиция (индекс), на которую будет помещен указанный элемент. Нумерация начинается с нуля. Также поддерживается отрицательная индексация.
element — элемент, который нужно поместить в список.
Возвращаемое значение:
Модифицирует исходный список. Возвращает None.
Примеры:
Пример 1: Вставка элемента в список.
vowel = ['a', 'e', 'i', 'u']
# вставка 'o' по индексу 3
vowel.insert(3, 'o')
print('Updated List:', vowel)
Результат:
Updated List: [‘a’, ‘e’, ‘i’, ‘o’, ‘u’]
Пример 2: Вставка кортежа (как элемента) в список.
mixed_list = [{1, 2}, [5, 6, 7]]
number_tuple = (3, 4)
# вставка кортежа по индексу 1
mixed_list.insert(1, number_tuple)
print('Updated List:', mixed_list)
Результат:
Updated List: [{1, 2}, (3, 4), [5, 6, 7]]
Удаление элементов
Метод:
list.remove(element)
Описание:
Удаляет первый найденный в списке элемент, значение которого соответствует значению, переданному в качестве аргумента.
Параметры:
element — элемент, который будет удален из списка. Если элемент в списке не найден, то возбуждается исключение ValueError.
Возвращаемое значение:
Модифицирует исходный список. Возвращает None.
Примечание:
Если список содержит повторяющиеся элементы, метод remove() удаляет только первое вхождение заданного элемента в списке.
Если нужно удалить элемент по индексу или вернуть значение удаляемого элемента, используйте list.pop().
Также для удаления элементов из списка можно использовать инструкцию del.
Примеры:
Пример 1: Удаление элемента из списка.
animals = ['cat', 'dog', 'rabbit', 'guinea pig']
# удаление элемента 'rabbit'
animals.remove('rabbit')
print('Updated animals list: ', animals)
Результат:
Updated animals list: [‘cat’, ‘dog’, ‘guinea pig’]
Пример 2: Удаление элемента, который не существует.
animals = ['cat', 'dog', 'rabbit', 'guinea pig']
# удаление элемента 'fish'
animals.remove('fish')
print('Updated animals list: ', animals)
Результат:
Traceback (most recent call last):
File «<string>», line 5, in <module>
ValueError: list.remove(x): x not in list
Метод:
list.pop([index])
Описание:
Удаляет элемент по указанному индексу из списка и возвращает удаленный элемент.
Параметры:
index — индекс искомого элемента в списке (целое число). Если индекс не указан, то удаляется последний элемент списка. Индексация начинается с нуля. Также поддерживается отрицательная индексация. Если индекс, переданный методу, вне диапазона списка, то возбуждается исключение IndexError.
Возвращаемое значение:
Элемент [по указанному индексу], который был удален из списка.
Примечание:
Если нужно удалить элемент из списка не возвращая его, используйте list.remove().
Также вы можете использовать инструкцию del для удаления элементов или срезов из списка.
Примеры:
Пример 1: Удаление элемента из списка по индексу.
languages = ['Python', 'Java', 'C++', 'French', 'C']
# удалить элемент по индексу 3 из списка и вернуть его
return_value = languages.pop(3)
print('Return Value:', return_value)
print('Updated List:', 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++’]
Метод:
list.clear()
Описание:
Удаляет все элементы из списка.
Параметры:
Метод не принимает никаких аргументов.
Возвращаемое значение:
Модифицирует исходный список. Возвращает None.
Примечание:
Также для удаления всех элементов из списка можно использовать инструкцию del:
list = [{1, 2}, ('a'), ['1.1', '2.2']]
del list[:]
# Output: List: []
print('List:', list)
Примеры:
list = [{1, 2}, ('a'), ['1.1', '2.2']]
# очистить список
list.clear()
print('List:', list)
Результат:
List: []
Получение информации
Метод:
list.index(element [,start [, end]])
Описание:
Возвращает индекс первого вхождения искомого значения в списке.
Параметры:
element — искомое значение.
start — индекс, с которого начинается поиск элемента. Необязательный аргумент, по умолчанию равен нулю.
end — индекс, до которого ведется поиск элемента. Необязательный аргумент, по умолчанию равен len(list).
Возвращаемое значение:
Индекс искомого значения в списке.
Примечание:
Если элемент не найден, то возбуждается исключение ValueError.
Примеры:
Пример 1: Найти индекс элемента в списке.
vowels = ['a', 'e', 'i', 'o', 'i', 'u']
# индекс 'e' в списке vowels
index = vowels.index('e')
print('The index of e:', index)
# индекс первого элемента 'i' в списке vowels
index = vowels.index('i')
print('The index of i:', index)
Результат:
The index of e: 1
The index of i: 2
Пример 2: Индекс элемента, которого нет в списке.
vowels = ['a', 'e', 'i', 'o', 'u']
# индекс 'p' в списке vowels
index = vowels.index('p')
print('The index of p:', index)
Результат:
Traceback (most recent call last):
File «<string>», line 5, in <module>
ValueError: ‘p’ is not in list
Пример 3: Найти индекс элемента с параметрами start и end.
alphabets = ['a', 'e', 'i', 'o', 'g', 'l', 'i', 'u']
# индекс 'i' в списке alphabets
index = alphabets.index('i') # 2
print('The index of i:', index)
# индекс 'i' при поиске начиная с 5-го элемента списка alphabets
index = alphabets.index('i', 4) # 6
print('The index of i:', index)
# индекс 'i' между 4м и 6м элементами списка alphabets
index = alphabets.index('i', 3, 5) # Error!
print('The index of i:', index)
Результат:
The index of e: 2
The index of i: 6
Traceback (most recent call last):
File «<string>», line 13, in <module>
ValueError: ‘i’ is not in list
Метод:
list.count(element)
Описание:
Возвращает количество вхождений указанного элемента в список.
Параметры:
element – элемент, количество вхождений которого надо определить.
Возвращаемое значение:
Количество вхождений указанного элемента в списке.
Примеры:
vowels = ['a', 'e', 'i', 'o', 'i', 'u']
# количество вхождений элемента 'i'
count = vowels.count('i')
print('The count of i is:', count)
# количество вхождений элемента 'p'
count = vowels.count('p')
print('The count of p is:', count)
Результат:
The count of i is: 2
The count of p is: 0
Изменение списка
Метод:
list.sort([key [, reverse]])
Описание:
Сортирует элементы данного списка.
Параметры:
key — функция, на основе которой сортируется список. Необязательный аргумент, по умолчанию равен None.
reverse — булево значение; указывает, нужно ли производить сортировку в убывающем порядке. Необязательный аргумент, по умолчанию равен False.
Возвращаемое значение:
Модифицирует исходный список. Возвращает None.
Примечание:
Вы также можете использовать функцию sorted() для сортировки списка. Различие между методом sort() и функцией sorted() заключается в следующем: sort() изменяет исходный список и не возвращает ничего (None), тогда как sorted() не изменяет переданный список и возвращает новый отсортированный список.
Можно использовать лямбда-функции, когда функция может быть записана в одну строку. Пример 3 (приведенный ниже) можно написать следующим образом:
# сортировка по имени (в порядке возрастания)
employees.sort(key=lambda x: x.get('Name'))
# сортировка по возрасту (в порядке возрастания)
employees.sort(key=lambda x: x.get('age'))
# сортировка по зарплате (в порядке убывания)
employees.sort(key=lambda x: x.get('salary'), reverse=True)
Примеры:
Пример 1: Сортировка списка.
vowels = ['e', 'a', 'u', 'o', 'i']
# сортировка списка vowels
vowels.sort()
print('Sorted list:', vowels)
Результат:
Sorted list: [‘a’, ‘e’, ‘i’, ‘o’, ‘u’]
Пример 2: Сортировка списка по убыванию.
vowels = ['e', 'a', 'u', 'o', 'i']
# сортировка списка vowels
vowels.sort(reverse=True)
print('Sorted list (in Descending):', vowels)
Результат:
Sorted list (in Descending): [‘u’, ‘o’, ‘i’, ‘e’, ‘a’]
Пример 3: Сортировка списка на основе собственной функции.
employees = [
{'Name': 'Alan Turing', 'age': 25, 'salary': 10000},
{'Name': 'Sharon Lin', 'age': 30, 'salary': 8000},
{'Name': 'Mikhail Tal', 'age': 40, 'salary': 15000},
]
# функции для получения информации о сотрудниках
def get_name(employee):
return employee.get('Name')
def get_age(employee):
return employee.get('age')
def get_salary(employee):
return employee.get('salary')
# сортировка по имени (в порядке возрастания)
employees.sort(key=get_name)
print(employees, end='\n\n')
# сортировка по возрасту (в порядке возрастания)
employees.sort(key=get_age)
print(employees, end='\n\n')
# сортировка по зарплате (в порядке убывания)
employees.sort(key=get_salary, reverse=True)
print(employees, end='\n\n')
Результат:
[{‘Name’: ‘Alan Turing’, ‘age’: 25, ‘salary’: 10000}, {‘Name’: ‘Mikhail Tal’, ‘age’: 40, ‘salary’: 15000}, {‘Name’: ‘Sharon Lin’, ‘age’: 30, ‘salary’: 8000}][{‘Name’: ‘Alan Turing’, ‘age’: 25, ‘salary’: 10000}, {‘Name’: ‘Sharon Lin’, ‘age’: 30, ‘salary’: 8000}, {‘Name’: ‘Mikhail Tal’, ‘age’: 40, ‘salary’: 15000}]
[{‘Name’: ‘Mikhail Tal’, ‘age’: 40, ‘salary’: 15000}, {‘Name’: ‘Alan Turing’, ‘age’: 25, ‘salary’: 10000}, {‘Name’: ‘Sharon Lin’, ‘age’: 30, ‘salary’: 8000}]
Метод:
list.reverse()
Описание:
Перестраивает элементы списка в обратном порядке.
Параметры:
Метод не принимает никаких аргументов.
Возвращаемое значение:
Модифицирует исходный список. Возвращает None.
Примечание:
Если вам нужно получить доступ к элементам списка в обратном порядке, то лучше использовать функцию reversed().
Список также можно перевернуть при помощи срезов:
systems = ['Windows', 'macOS', 'Linux'] reversed_list = systems[::-1] # Output: ['Linux', 'macOS', 'Windows'] print(reversed_list)
Примеры:
systems = ['Windows', 'macOS', 'Linux']
print('Original List:', systems)
# перевернуть список
systems.reverse()
# вывести обновленный список
print('Updated List:', systems)
Результат:
Original List: [‘Windows’, ‘macOS’, ‘Linux’]
Updated List: [‘Linux’, ‘macOS’, ‘Windows’]
Копирование списка
Метод:
list.copy()
Описание:
Возвращает поверхностную копию списка (без рекурсивного копирования вложенных элементов).
Параметры:
Метод не принимает никаких аргументов.
Возвращаемое значение:
Новый список. Не модифицирует исходный список.
Примечание:
Вы также можете копировать список, используя срезы:
list = ['cat', 0, 6.7]
new_list = list[:]
# Output: New List: ['cat', 0, 6.7]
print('New List:', new_list)
Примеры:
my_list = ['cat', 0, 6.7]
# копирование списка
new_list = my_list.copy()
print('Copied List:', new_list)
Результат:
Copied List: [‘cat’, 0, 6.7]

