Глава 11 · Очень много информации!

Мощные операции со списками!

Списки изменяемы — у них есть целый набор методов для добавления, удаления, поиска и сортировки.

У списков (в отличие от строк) есть методы, которые изменяют сам список — списки, в отличие от строк, изменяемы.

Копирование и добавление

kopirovanie.py
original = [1, 2, 3]
kopiya = original.copy()
kopiya.append(4)
print(original)  # [1, 2, 3] — не изменился
print(kopiya)    # [1, 2, 3, 4]
kopiya = original — это не копия!
kopiya = original создаёт вторую переменную, указывающую на тот же самый список — изменение через одну переменную видно и через другую. Чтобы получить настоящую независимую копию, нужен .copy() (или срез original[:]).

Подсчёт и очистка

podschet.py
chisla = [1, 2, 2, 3, 2]
print(chisla.count(2))   # 3 — сколько раз встречается 2
chisla.clear()
print(chisla)             # [] — список пуст

Конкатенация

konkatenaciya_spiskov.py
a = [1, 2]
b = [3, 4]
print(a + b)   # [1, 2, 3, 4]

Поиск внутри списка

poisk.py
fruits = ["яблоко", "банан", "вишня"]
print("банан" in fruits)         # True
print(fruits.index("вишня"))      # 2 — индекс элемента

Добавление и удаление элементов

dobavlenie_udalenie.py
fruits = ["яблоко", "банан"]
fruits.append("вишня")        # добавить в конец
fruits.insert(0, "манго")     # вставить по индексу
print(fruits)

fruits.remove("банан")        # удалить по значению
last = fruits.pop()            # удалить и вернуть последний элемент
print(fruits, last)

Разворот и сортировка

razvorot_sortirovka.py
chisla = [3, 1, 4, 1, 5]
chisla.sort()
print(chisla)      # [1, 1, 3, 4, 5]
chisla.reverse()
print(chisla)      # [5, 4, 3, 1, 1]
Практика в Jupyter Notebook
11-03-operacii-so-spiskami.ipynb · все операции этого раздела
Открыть ноутбук →