Python для начинающих: Списки и методы append(), insert()

Списки — изменяемый тип данных в 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. Более подробная информация в официальной документации.

Что будем искать? Например,программа