Методы и Функции списков в Python

Списки (lists) в Python — это упорядоченные изменяемые коллекции объектов.

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

 В этой лекции мы рассмотрим основные методы и функции для работы со списками в Python.

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

Прежде чем переходить к методам и функциям, важно понять, как создавать списки.

 # Создание пустого списка
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

 

2. Основные операции со списками

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

# Получение элемента по индексу
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. Встроенные функции для работы со списками

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. Методы списка

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 предоставляют мощный и гибкий инструмент для работы с коллекциями данных. Знание методов и функций для работы со списками позволяет эффективно решать широкий спектр задач.

Перейти к следующему шагу

Комментарии