Посібник з Python

View on GitHub

Для розуміння цієї теми потрібно знати про:

Списки

Список (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])

Результат:

сир
соус

Додавання, вставлення та видалення елементів

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]