Списки (lists) в Python — это упорядоченные изменяемые коллекции объектов.
Они позволяют хранить элементы различных типов, а также предлагают широкий набор встроенных методов для работы с ними.
В этой лекции мы рассмотрим основные методы и функции для работы со списками в Python.
Прежде чем переходить к методам и функциям, важно понять, как создавать списки.
# Создание пустого списка
empty_list = []
# Создание списка с элементами
numbers = [1, 2, 3, 4, 5]
mixed_list = [1, "two", 3.0, [4, 5]]
Вот таблица, описывающая основные методы и функции для работы со списками в Python.
Функция/Метод | Описание | Пример использования | Результат |
---|---|---|---|
len(list) | Возвращает количество элементов в списке. | len([1, 2, 3]) | 3 |
list.append(x) | Добавляет элемент x в конец списка. | lst = [1, 2] lst.append(3) | [1, 2, 3] |
list.insert(i, x) | Вставляет элемент x на позицию i . | lst = [1, 3] lst.insert(1, 2) | [1, 2, 3] |
list.extend(iterable) | Расширяет список, добавляя все элементы из переданного итерируемого объекта. | lst = [1, 2] lst.extend([3, 4]) | [1, 2, 3, 4] |
list.remove(x) | Удаляет первое вхождение элемента x из списка. | lst = [1, 2, 3, 2] lst.remove(2) | [1, 3, 2] |
list.pop([i]) | Удаляет и возвращает элемент с позиции i (по умолчанию — последний элемент). | lst = [1, 2, 3] lst.pop() | [1, 2] и 3 |
list.clear() | Удаляет все элементы из списка. | lst = [1, 2, 3] lst.clear() | [] |
list.index(x[, start[, end]]) | Возвращает индекс первого вхождения элемента x (с optional аргументами start и end ). | lst = [1, 2, 3] lst.index(2) | 1 |
list.count(x) | Возвращает количество вхождений элемента x в списке. | [1, 2, 2, 3].count(2) | 2 |
list.sort(key=None, reverse=False) | Сортирует список на месте (по умолчанию по возрастанию). | lst = [3, 1, 2] lst.sort() | [1, 2, 3] |
list.reverse() | Разворачивает список на месте. | lst = [1, 2, 3] lst.reverse() | [3, 2, 1] |
list.copy() | Возвращает поверхностную копию списка. | lst = [1, 2, 3] new_lst = lst.copy() | new_lst = [1, 2, 3] |
list + list | Конкатенация (соединение) двух списков. | [1, 2] + [3, 4] | [1, 2, 3, 4] |
list * n | Повторяет список n раз. | [1, 2] * 3 | [1, 2, 1, 2, 1, 2] |
x in list | Проверяет, содержится ли элемент x в списке. | 2 in [1, 2, 3] | True |
min(list) | Возвращает минимальный элемент в списке. | min([1, 2, 3]) | 1 |
max(list) | Возвращает максимальный элемент в списке. | max([1, 2, 3]) | 3 |
sum(list) | Возвращает сумму элементов списка (если элементы числовые). | sum([1, 2, 3]) | 6 |
Списки поддерживают стандартные операции, такие как добавление, удаление, изменение и получение элементов по индексу.
# Получение элемента по индексу
print(numbers[0]) # 1
# Изменение элемента
numbers[1] = 20
print(numbers) # [1, 20, 3, 4, 5]
# Добавление нового элемента в конец списка
numbers.append(6)
print(numbers) # [1, 20, 3, 4, 5, 6]
# Удаление элемента по индексу
del numbers[2]
print(numbers) # [1, 20, 4, 5, 6]
3.1. len()
Функция
len()
возвращает количество элементов в списке.
print(len(numbers)) # 5
3.2. sum()
Функция sum()
возвращает сумму всех элементов списка. Она работает только для числовых списков.
print(sum(numbers)) # 36
3.3. min()
и max()
Функции min()
и max()
возвращают минимальный и максимальный элементы списка соответственно.
print(min(numbers)) # 1
print(max(numbers)) # 20
3.4. sorted()
Возвращает новый отсортированный список, не изменяя исходный. Принимает параметры key
и reverse
.
Параметры:
iterable
— список или другой итерируемый объект.key
— функция для вычисления ключа сортировки.reverse
— булев параметр, если True
, сортирует в обратном порядке.Пример без параметров:
sorted_list = sorted(numbers)
print(sorted_list) # [1, 4, 5, 6, 20]
Пример с параметром key
:
# Сортировка по абсолютным значениям
numbers_with_negatives = [1, 3, -2, -4, 5]
sorted_list = sorted(numbers_with_negatives, key=abs) # Сортировка будет происходить по значению модуля (key=abs)
print(sorted_list) # [1, -2, 3, -4, 5]
Пример с параметром reverse
:
# Сортировка в обратном порядке
sorted_list = sorted(numbers, reverse=True)
print(sorted_list) # [20, 6, 5, 4, 1]
4.1. append()
Метод append()
добавляет элемент в конец списка.
Параметры:
object
— элемент, который будет добавлен.numbers.append(7)
print(numbers) # [1, 20, 4, 5, 6, 7]
4.2. extend()
Метод extend()
расширяет список элементами из другого списка или итерируемого объекта.
Параметры:
iterable
— итерируемый объект, элементы которого будут добавлены.numbers.extend([8, 9])
print(numbers) # [1, 20, 4, 5, 6, 7, 8, 9]
4.3. insert()
Метод insert()
вставляет элемент на указанную позицию.
Параметры:
index
— индекс, на который будет вставлен элемент.object
— элемент, который будет вставлен.numbers.insert(1, 15)
print(numbers) # [1, 15, 20, 4, 5, 6, 7, 8, 9]
4.4. remove()
Метод remove()
удаляет первый встреченный элемент с указанным значением.
Параметры:
value
— значение элемента, который нужно удалить.numbers.remove(15)
print(numbers) # [1, 20, 4, 5, 6, 7, 8, 9]
4.5. pop()
Метод pop()
удаляет и возвращает элемент с указанной позиции. Если позиция не указана, удаляет и возвращает последний элемент.
Параметры:
index
(опционально) — индекс элемента, который нужно удалить. По умолчанию -1
.last_element = numbers.pop()
print(last_element) # 9
print(numbers) # [1, 20, 4, 5, 6, 7, 8]
4.6. clear()
Метод clear()
очищает список, удаляя все его элементы.
numbers.clear()
print(numbers) # []
4.7. index()
Метод index()
возвращает индекс первого элемента с указанным значением. Если элемент не найден, возникает ошибка.
Параметры:
value
— значение элемента, индекс которого нужно найти.start
(опционально) — индекс, с которого начинать поиск. По умолчанию 0
.end
(опционально) — индекс, на котором заканчивается поиск. По умолчанию len(lst)
.numbers = [1, 2, 3, 2, 4]
index_of_two = numbers.index(2)
print(index_of_two) # 1
4.8. count()
Метод count()
возвращает количество вхождений указанного элемента в списке.
Параметры:
value
— значение элемента, количество вхождений которого нужно подсчитать.count_of_twos = numbers.count(2)
print(count_of_twos) # 2
4.9. sort()
Метод sort()
сортирует элементы списка на месте.
Параметры:
key
(опционально) — функция для вычисления ключа сортировки.reverse
(опционально) — булев параметр, если True
, сортирует в обратном порядке.numbers.sort()
print(numbers) # [1, 2, 2, 3, 4]
4.10. reverse()
Метод reverse()
разворачивает список на месте.
numbers.reverse()
print(numbers) # [4, 3, 2, 2, 1]
4.11. copy()
Создает поверхностную копию списка без учета вложенных списоков.
Пример:
numbers_copy = numbers.copy()
print(numbers_copy) # [4, 3, 2, 2, 1]
Списки в Python предоставляют мощный и гибкий инструмент для работы с коллекциями данных. Знание методов и функций для работы со списками позволяет эффективно решать широкий спектр задач.