Для розуміння цієї теми потрібно знати про:
Списки
Список (list) — це впорядкована колекція значень. Списки зручно використовувати, коли потрібно зберігати багато елементів разом і працювати з усім списком одночасно, або працювати з кожним елементом як з частиною списку.
Створення списку
Список створюють у квадратних дужках [], а елементи розділяють комами.
pizza = ["тісто", "соус", "сир"]
print(pizza)
Результат:
['тісто', 'соус', 'сир']
Доступ до елемента за індексом
Кожен елемент має індекс. Перший елемент має індекс 0, другий — 1, третій — 2 і так далі. Для отримання елемета з індексом i використовуюь квадратні дужки [i].
pizza = ["тісто", "соус", "сир"]
print(pizza[0])
print(pizza[2])
Результат:
тісто
сир
Негативна індексація
Можна звертатись до елементів з кінця списку: -1 — останній елемент, -2 — передостанній і так далі.
pizza = ["тісто", "соус", "сир"]
print(pizza[-1])
print(pizza[-2])
Результат:
сир
соус
Додавання, вставлення та видалення елементів
append(x)додає елементxу кінець спискуinsert(i, x)вставляє елементxв позиціюi(решту елементів буде зсунуто вправо)delвидаляє елемент за індексом
pizza = ["тісто", "соус", "сир"]
pizza.append("орегано")
print(pizza)
pizza.insert(2, "салямі")
print(pizza)
del pizza[-1]
print(pizza)
Результат:
['тісто', 'соус', 'сир', 'орегано']
['тісто', 'соус', 'салямі', 'сир', 'орегано']
['тісто', 'соус', 'салямі', 'сир']
Заміна елемента
Елемент списку можна змінити, якщо звернутися до нього за індексом і присвоїти нове значення.
pizza = ["тісто", "соус", "сир"]
pizza[-1] = "моцарела"
print(pizza)
Результат:
['тісто', 'соус', 'моцарела']
Кількість елементів у списку
Щоб дізнатися кількість елементів у списку,
використовуйте функцію len().
pizza = ["тісто", "соус", "сир"]
print(len(pizza))
Результат:
3
Зріз (частина списку)
Зріз дозволяє отримати новий список із деяких елементів. Наприклад, pizza[1:3] означає — взяти елементи з індексами від 1 (включно) до 3 (невключно).
pizza = ["тісто", "соус", "сир"]
print(pizza[1:3])
Результат:
['соус', 'сир']
Використання початкового та кінцевого індексу у зрізах
Коли створюєте зріз списку, можна не вказувати стартовий або кінцевий індекс. Тоді зріз починається від початку списку або триває до кінця списку відповідно.
pizza = ["тісто", "соус", "сир"]
# Всі елементи від початку до другого (невключно)
print(pizza[:2])
# Всі елементи від другого до кінця списку
print(pizza[1:])
# Весь список (копія)
print(pizza[:])
Результат:
['тісто', 'соус']
['соус', 'сир']
['тісто', 'соус', 'сир']
Таблиця методів для роботи зі списками
| Метод | Пояснення | Приклади |
|---|---|---|
append(x) |
додає елемент x у кінець списку |
numbers = [1, 2]numbers.append(3) # результат: [1, 2, 3] |
extend(x) |
додає всі елементи з іншої послідовності x в кінець списку |
numbers = [1, 2]numbers.extend([3, 4]) # numbers: [1, 2, 3, 4] |
insert(i, x) |
вставляє елемент x у позицію з індексом i |
fruits = ["apple", "pear"]fruits.insert(1, "banana") # fruits: ["apple", "banana", "pear"] |
remove(x) |
видаляє перше входження елемента x зі списку |
names = ["Ann", "Bob", "Ann"]names.remove("Ann") # names: ["Bob", "Ann"] |
pop(i) |
повертає та видаляє елемент з індексом i (якщо i не вказано, видаляє останній елемент) |
numbers = [10, 20, 30]x = numbers.pop(1) # x: 20, numbers: [10, 30] |
clear() |
видаляє всі елементи зі списку | numbers = [1, 2, 3]numbers.clear() # numbers: [] |
index(x) |
повертає індекс першого входження елемента x |
letters = ["a", "b", "c"]pos = letters.index("b") # результат: 1 |
count(x) |
повертає кількість входжень елемента x у списку |
numbers = [1, 2, 2, 3]numbers.count(2) # результат: 2 |
sort() |
сортує список у порядку зростання | numbers = [3, 1, 2]numbers.sort() # numbers: [1, 2, 3] |
reverse() |
змінює порядок елементів списку на протилежний | numbers = [1, 2, 3]numbers.reverse() # numbers: [3, 2, 1] |
copy() |
повертає копію списку | a = [1, 2]b = a.copy() # b: [1, 2] |