В 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]