Списки в Python (9 клас)

1 / 18
Інформатика 9 клас • Мова Python

Списки в Python: Твоя суперсила керування даними

Як зберігати сотні значень в одній змінній, знаходити потрібні елементи за мілісекунди та будувати динамічні програми.

Структура

Оголошення

Навігація

Індекси & Зрізи

Мутація

Додавання

Очищення

Видалення

01. Основи

Що таке список (List) у Python?

Уявіть звичайну змінну як **одну комірку чи склянку**, в яку можна налити лише один напій. Якщо вам потрібно зберегти 100 імен або оцінок, створювати 100 окремих змінних дуже незручно!

Аналогія з реального життя

**Список** — це як **органайзер, інвентар у грі або кошик у супермаркеті**. В одну таку «коробку» можна покласти скільки завгодно елементів за порядком.

  • Інвентар зброї у Fortnite / Minecraft
  • Плейлист у Spotify чи YouTube Music
  • Кошик покупок на Rozetka

Звичайна змінна VS Список

Звичайна змінна (1 значення):
player = "Олег"
Список (колекція значень):
players = ["Олег", "Марія", "Іван", "Софія"]
0: Олег
1: Марія
2: Іван
3: Софія
02. Характеристики

Ключові властивості списків

1. Впорядкованість

Кожен елемент має чітке фіксоване місце — **індекс**. Порядок елементів зберігається саме таким, яким ви його створили.

2. Змінність (Mutable)

Списки можна редагувати «на льоту»: додавати нові деталі, замінювати існуючі або видаляти зайві без перестворення всієї змінної.

3. Підтримка дублікатів

У списку можуть повторюватися однакові значення. Наприклад, три оцінки 12 поспіль — це абсолютно нормально.

4. Різнорідність типів

Один список може містити цілі числа, дробові числа, текстові рядки, значення True/False і навіть інші списки!

03. Синтаксис

Як оголосити список у Python?

Списки створюються за допомогою **квадратних дужок [ ]**, а елементи всередині розділяються **комами**.

# 1. Порожній список (коробка чекає на речі)
backpack = []
inventory = list()
# 2. Список з числами
scores = [10, 12, 9, 11]
# 3. Список з текстовими рядками
subjects = ["Алгебра", "Фізика", "Інформатика"]
# 4. Змішаний список
user = ["Антон", 15, True, 178.5]

Зверніть увагу на коми!

Найдеприємніша помилка початківця — забути кому між елементами або закрити дужку.

❌ numbers = [1 2 3] SyntaxError: invalid syntax
✔️ numbers = [1, 2, 3] Правильно!
💡 **Порада:** залишайте пробіл після кожної коми для кращої читабельності коду.
04. Розмір списку

Як дізнатися довжину списку? Функція len()

Вбудована функція **len()** (від англ. *length* — довжина) повертає **кількість елементів** у списку.

gadgets = ["Phone", "Laptop", "Tablet"]
count = len(gadgets)
print(count) # Виведе: 3

📌 Для порожнього списку len([]) поверне 0.

Живий демо-лічильник len()

"Яблуко" "Банан" "Груша"
len() = 3
05. Доступ до елементів

Позитивні індекси: Відлік від 0!

Щоб звернутися до потрібного елемента списку, ми пишемо назву списку, а у квадратних дужках вказуємо його **індекс** (номер). Головне правило програміста: нумерація завжди починається з НУЛЯ (0)!

Натисніть на будь-який елемент списку нижче, щоб побачити синтаксис доступу:

Клікніть на елемент вище!
06. Навігація з кінця

Негативні індекси та IndexError

1. Відлік з кінця (-1, -2...)

У Python можна брати елементи з кінця списку за допомогою від'ємних чисел!

  • list[-1] — НАЙОСТАННІЙ елемент
  • list[-2] — передостанній елемент
fruits = ["яблуко", "груша", "слива"]
print(fruits[-1]) # Виведе: "слива"

2. Небезпека: IndexError!

Якщо ви спробуєте звернутися до індексу, якого не існує (наприклад, елемент №10 у списку з 3 елементів), програма аварійно завершиться!

nums = [10, 20, 30]
print(nums[5])
❌ IndexError: list index out of range
07. Мутація

Як змінити значення елемента?

Оскільки список є **змінним типом даних**, ми можемо перезаписати будь-яку його комірку, просто звернувшись за індексом через оператор присвоєння =.

# Створюємо список друзів
friends = ["Аня", "Максим", "Олег"]
# Замінюємо "Максим" (індекс 1) на "Денис"
friends[1] = "Денис"
# Тепер список виглядає так:
print(friends)
# ['Аня', 'Денис', 'Олег']

Заміна на місці

Старе значення стирається з пам'яті, а на його місце одразу записується нове. Розмір списку при цьому не змінюється!

08. Зрізи списків

Зрізи (Slices): Як взяти шматок списку?

**Зріз** вирізає частину списку і повертає НОВИЙ список. Формула зрізу: список[start : stop : step]

start (початок) Індекс, з якого починаємо (включно).
stop (кінець) Індекс, до якого ріжемо (НЕ ВКЛЮЧАЮЧИ його!).
step (крок) Крок пропуску елементів (за замовчуванням 1).
letters = ['a', 'b', 'c', 'd', 'e']
print(letters[1:4]) # Візьме елементи з індексами 1, 2, 3 -> ['b', 'c', 'd']
09. Практикум зрізів

Інтерактивний візуалізатор зрізів

Оригінальний список numbers:
Код: numbers[1:6:1]
Результат: [10, 20, 30, 40, 50]
10. Розширення списку

Додавання елементів: append() та insert()

.append(value)

Додає елемент **у самий кінець** списку. Це найпопулярніший метод!

cart = ["хліб"]
cart.append("молоко")
# cart -> ['хліб', 'молоко']

.insert(index, value)

Вставляє елемент на **конкретний індекс**, розсуваючи інші елементи вправо.

queue = ["Оля", "Вася"]
queue.insert(0, "VIP-Гість")
# Вставили на 0 позицію!
11. Конкатенація

Як з'єднати декілька списків?

Оператор + (Склеювання)

Створює **новий третій список**, об'єднуючи елементи першого і другого.

a = [1, 2]
b = [3, 4]
c = a + b
# c -> [1, 2, 3, 4]

Метод .extend(other_list)

Додає всі елементи з іншого списку **в кінець поточного** (змінює оригінальний список).

fruits = ["яблуко"]
berries = ["полуниця", "малина"]
fruits.extend(berries)
12. Видалення елементів

Видалення: remove() vs pop()

.remove(value)

Видаляє за **ЗНАЧЕННЯМ** (шукає елемент і прибирає перше співпадіння).

items = ["меч", "щит", "зілля"]
items.remove("щит")

⚠️ Якщо такого значення немає — буде помилка ValueError!

.pop(index)

Видаляє за **ІНДЕКСОМ** та **повертає** витягнуте значення.

nums = [10, 20, 30]
last = nums.pop() # Без аргументу забере -1 елемент
# last = 30, nums -> [10, 20]
13. Очищення

Оператор del та метод clear()

Інструкція del

Дозволяє видалити конкретний елемент за індексом або цілий зріз:

numbers = [10, 20, 30, 40, 50]
del numbers[0] # Видалить 10
del numbers[1:3] # Видалить зріз

Метод .clear()

Повністю очищає список, роблячи його порожнім [], але сам список залишається в пам'яті.

data = [1, 2, 3]
data.clear()
# print(data) -> []
14. Лабораторна робота

Інтерактивна пісочниця методів

Ваш список у реальному часі:
Очікування дій...
15. Практика в іграх

Використання списків з модулем random

Списки ідеально поєднуються з модулем random для створення ігор, вікторин та випадкових подій!

import random
colors = ["червоний", "синій", "зелений"]
# Випадковий елемент зі списку
chosen = random.choice(colors)
# Перемішати список випадковим чином
random.shuffle(colors)

Генератор випадкової лутбокс-нагороди

Натисніть кнопку!
16. Експрес-тест

Перевірте свої знання!

Питання 1 з 3 Рахунок: 0

Питання з'явиться тут...

17. Підсумок

Головна шпаргалка зі списків Python

Оголошення & Довжина

lst = [] — порожній

lst = [1, 2, 3] — з даними

len(lst) — кількість

Доступ & Зрізи

lst[0] — перший елемент

lst[-1] — останній елемент

lst[1:4] — зріз елементів

Додавання

lst.append(x) — в кінець

lst.insert(i, x) — за індексом

lst.extend(other) — розширення

Видалення

lst.remove(x) — за значенням

lst.pop(i) — за індексом

del lst[i] — знищення

Очищення

lst.clear() — зробити порожнім

Дякуємо за увагу!

Готові писати крутий код на Python? 🚀