Списки — изменяемый тип данных в Python. В отличие от строк, методы, применяемые к спискам, изменяют сам список.
Добавление элементов
Рассмотрим методы добавления элементов в список prox (Python, Java, C++).
append()
Добавляет элемент в конец списка.
prox = ["Python", "Java", "C++"]
prox.append("Pascal")
print(prox) # Вывод: ['Python', 'Java', 'C++', 'Pascal']
insert()
Добавляет элемент в указанную позицию. Первый аргумент — индекс, второй — элемент.
prox.insert(1, "Pascal")
print(prox) # Вывод: ['Python', 'Pascal', 'Java', 'C++']
extend()
Добавляет элементы одного списка в конец другого.
nums = [1, 2, 3]
prox.extend(nums)
print(prox) # Вывод: ['Python', 'Pascal', 'Java', 'C++', 1, 2, 3]
Удаление элементов
remove()
Удаляет первое вхождение элемента по его значению.
prox.remove("C++")
print(prox) # Вывод: ['Python', 'Pascal', 'Java', 1, 2, 3]
pop()
Удаляет элемент по индексу. Возвращает удалённый элемент. Без аргумента удаляет последний.
removed_item = prox.pop(1)
print(removed_item) # Вывод: Pascal
print(prox) # Вывод: ['Python', 'Java', 1, 2, 3]
last_item = prox.pop()
print(last_item) # Вывод: 3
print(prox) # Вывод: ['Python', 'Java', 1, 2]
del
Удаляет элемент по индексу.
del prox[0]
print(prox) # Вывод: ['Java', 1, 2]
clear()
Очищает список, удаляя все элементы.
prox.clear()
print(prox) # Вывод: []
Поиск и подсчет
index()
Возвращает индекс первого вхождения элемента.
prox = ["Python", "Java", "C++", "C++"]
index_cplus = prox.index("C++")
print(index_cplus) # Вывод: 2
count()
Возвращает количество вхождений элемента.
count_cplus = prox.count("C++")
print(count_cplus) # Вывод: 2
Копирование списков
copy() (поверхностная копия)
Создаёт поверхностную копию. Изменения во вложенных списках копии отразятся на оригинале.
prox_copy = prox.copy()
prox[0] = 100
print(prox)
print(prox_copy)
deepcopy() (глубокая копия)
Создаёт полную копию, включая вложенные структуры (из модуля copy).
import copy
prox_deepcopy = copy.deepcopy(prox)
prox[0] = 150
print(prox)
print(prox_deepcopy)
Сортировка
sort()
Сортирует список на месте по возрастанию. reverse=True — по убыванию.
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
numbers.sort()
print(numbers) # Вывод: [1, 1, 2, 3, 4, 5, 6, 9]
numbers.sort(reverse=True)
print(numbers) # Вывод: [9, 6, 5, 4, 3, 2, 1, 1]
letters = ['b', 'a', 'd', 'c']
letters.sort()
print(letters) # Вывод: ['a', 'b', 'c', 'd']
sorted()
Возвращает отсортированную копию, не изменяя оригинал.
numbers_sorted = sorted(numbers)
print(numbers_sorted)
print(numbers)
key в sort() и sorted()
Позволяет задать функцию для определения порядка сортировки.
numbers = [3, -1, 4, -1, 5, 9, -2, 6]
numbers.sort(key=abs)
print(numbers)
Обращение списка
reverse()
Разворачивает список.
numbers.reverse()
print(numbers)
Функции для работы со списками
len()
Возвращает количество элементов.
print(len(numbers))
max() и min()
Возвращают максимальный и минимальный элементы соответственно.
print(max(numbers))
print(min(numbers))
sum()
Возвращает сумму элементов. start — начальное значение суммы.
print(sum(numbers))
print(sum(numbers, 1000))
В уроке рассмотрены основные методы и функции для работы со списками в Python. Более подробная информация в официальной документации.