📖 Зміст
Частина 1: Світ програмування навколо нас
Частина 2: Алфавіт і словник програмування
Частина 3: Будуємо перші програми
Частина 4: Наш дивовижний мозок
Частина 5: Творчі проекти
Частина 6: Програмування в реальному світі
Частина 7: Від електрики до штучного інтелекту
Глава 10 з 27
3: Будуємо перші програми
Розділ 10: "Масиви та списки: колекції скарбів"
На вихідних Професор Біт запропонував Алісі допомогти розібрати свою колекцію марок. Вони розклали на столі кілька альбомів з марками різних країн і тематик.
— Знаєш, Алісо, — почав Професор, перегортаючи сторінки альбому, — колекції в реальному житті дуже схожі на те, що в програмуванні називається масивами та списками.
— А що таке масиви та списки? — запитала Аліса, розглядаючи барвисту марку з зображенням космічного корабля.
— Уяви, що у тебе є багато пов'язаних між собою предметів, які ти хочеш зберігати разом, — пояснив Професор. — Наприклад, всі ці марки в альбомі. У програмуванні ми можемо створити список, який міститиме багато елементів, і працювати з ними як з єдиним цілим.
Байт вивів на свій екран приклад:
python
марки = ["космос", "тварини", "спорт", "мистецтво", "транспорт"]— Це список з п'яти рядків, — пояснив Професор. — Кожен рядок — це окремий елемент списку, а разом вони утворюють колекцію.

— Так просто? — здивувалась Аліса.
— Так, створити список дуже просто, — кивнув Професор. — А ось працювати з ним можна по-різному. Наприклад, ми можемо дізнатися, скільки елементів у списку:
python
кількість_марок = len(марки) # результат: 5— Можемо звернутися до конкретного елемента за його позицією (індексом):
python
перша_марка = марки[0] # результат: "космос"
друга_марка = марки[1] # результат: "тварини"— Зачекай, — насупилась Аліса, — чому перший елемент має індекс 0, а не 1?
— Добре питання! — посміхнувся Професор. — У більшості мов програмування індексація починається з нуля. Це пов'язано з тим, як комп'ютер зберігає дані в пам'яті. Тож перший елемент має індекс 0, другий — індекс 1, і так далі.
Массив — это длинный сверкающий поезд,
Где выстроен в линию каждый вагон.
С нуля начинает отсчёт эта повесть,
И строго по правилам движется он.
Ты можешь достать из шестого посылку,
А можешь вагон прицепить в самый хвост.
Массивы и списки — не просто копилка,
А к собранным данным проложенный мост!

Логік, яка розкладала марки за категоріями, додала:
— Списки в програмуванні дуже гнучкі. Ми можемо додавати нові елементи, видаляти існуючі, змінювати їх, сортувати і так далі.
Професор показав нові приклади:
python
Додавання нового елемента в кінець списку
марки.append("архітектура")
print(марки) # ["космос", "тварини", "спорт", "мистецтво", "транспорт", "архітектура"]Видалення елемента
марки.remove("спорт")
print(марки) # ["космос", "тварини", "мистецтво", "транспорт", "архітектура"]Зміна елемента
марки[1] = "дика природа"
print(марки) # ["космос", "дика природа", "мистецтво", "транспорт", "архітектура"]Сортування списку за абеткою
марки.sort()
print(марки) # ["архітектура", "дика природа", "мистецтво", "космос", "транспорт"]— А що, якщо я хочу перевірити, чи є певна марка в моїй колекції? — запитала Аліса.
— Для цього можна використати оператор in, — пояснив Професор:
python
if "космос" in марки:
print("У тебе є марки на тему космосу!")
else:
print("У тебе немає марок на тему космосу.")Байт показав на своєму екрані новий приклад:
python
Перебір всіх елементів списку
for тема in марки:
print("У тебе є марки на тему:", тема)— За допомогою циклу for ми можемо виконати якусь дію для кожного елемента списку, — пояснив Професор. — Це дуже зручно, коли потрібно обробити всі елементи колекції.
— А можна створювати списки з різними типами даних? — зацікавилась Аліса.
— Звичайно! — кивнув Професор. — В один список можна помістити числа, рядки, булеві значення і навіть інші списки.
python
різне = [42, "привіт", True, [1, 2, 3]]— Вкладені списки особливо корисні для представлення табличних даних або багатовимірних структур, — додав Професор. — Наприклад, ми можемо представити ігрове поле для хрестиків-нуликів:
python
поле = [
[" ", " ", " "],
[" ", "X", " "],
[" ", " ", "O"]
]— У цьому прикладі у нас список з трьох списків, кожен з яких представляє один ряд ігрового поля, — пояснив він. — Щоб звернутися до конкретної клітинки, потрібно вказати два індекси:
python
центральна_клітинка = поле[1][1] # результат: "X"— А є ще якісь типи колекцій, крім списків? — запитала Аліса.
— Так, у різних мовах програмування є різні типи колекцій, — відповів Професор. — Наприклад, у Python є:
1. Списки (list) — впорядковані колекції, які ми вже обговорили
2. Кортежі (tuple) — схожі на списки, але їх не можна змінювати після створення
3. Словники (dict) — колекції пар "ключ-значення", як справжні словники
4. Множини (set) — невпорядковані колекції унікальних елементів
— Давай розглянемо словники детальніше, — запропонував Професор. — Вони дуже корисні, коли потрібно пов'язати одні дані з іншими.
python
Словник, що пов'язує країни з їх столицями
столиці = {
"Росія": "Москва",
"Франція": "Париж",
"Японія": "Токіо"
}Отримання значення за ключем
столиця_франції = столиці["Франція"] # результат: "Париж"Додавання нової пари ключ-значення
столиці["Італія"] = "Рим"Перебір всіх пар у словнику
for країна, столиця in столиці.items():
print("Столиця", країни, "—", столиця)— У словнику ми звертаємося до елементів не за індексом, а за ключем, — пояснив Професор. — Це робить код більш зрозумілим і менш схильним до помилок.
— А множини? — запитала Аліса. — Для чого вони потрібні?
— Множини корисні, коли нам важлива тільки наявність або відсутність елемента, а порядок не має значення, — відповіла Логік. — Крім того, множини автоматично видаляють дублікати.
python
Створення множини
кольори = {"червоний", "синій", "зелений", "синій"}
print(кольори) # результат: {"червоний", "синій", "зелений"} - дублікат "синій" видаленоПеревірка наявності елемента
if "жовтий" in кольори:
print("Жовтий колір є у множині")
else:
print("Жовтого кольору немає у множині")Операції з множинами
кольори2 = {"жовтий", "синій", "помаранчевий"}
спільні_кольори = кольори & кольори2 # перетин: {"синій"}
всі_кольори = кольори | кольори2 # об'єднання: {"червоний", "синій", "зелений", "жовтий", "помаранчевий"}— У програмуванні колекції використовуються постійно, — підсумував Професор. — Вони дозволяють працювати з групами даних, що критично важливо для більшості програм.
— Це як у реальному житті, — помітила Аліса, закриваючи альбом з марками. — Ми постійно маємо справу з колекціями: набір олівців, книги на полиці, продукти в холодильнику.
— Саме так! — посміхнувся Професор. — Програмування часто відображає структури та процеси з реального світу, роблячи їх більш організованими та ефективними.