Поняття одновимірного масиву
За навчальною програмою 2017 року
Урок 47
Інформатика 9
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.
Повторюємо
У 5–8 класах ви опанували основи мови програмування Python.
Знаєте, як реалізувати базові алгоритмічні структури, і вмієте створювати програми з використанням розгалужень і повторень.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Повторюємо
Ви розширили уявлення про типи величин і алгоритми опрацювання даних різних типів та розробляли програми з графічним інтерфейсом користувача, створюючи об’єкти класів графічних компонентів.
Ви також навчилися задавати властивості найуживаніших віджетів та програмувати обробку подій для цих об’єктів.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Повторюємо
Ви оволоділи прийомами роботи в інтегрованому середовищі розробки PyCharm, знайомі з можливостями інтелектуального введення та автодоповнення коду, засобами для аналізу коду тощо.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Запитання
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Поняття одновимірного масиву. Списки
Ви вже стикались із необхідністю зберігання наборів значень, об’єднаних за певною ознакою.
Наприклад, у комп’ютерній грі можуть зберігатися
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Поняття одновимірного масиву. Списки
В обчислювальних програмах виникає потреба зберігати набори чисел:
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Поняття одновимірного масиву. Списки
Як вам вже відомо, для збереження сукупностей даних у програмуванні існують структуровані типи, або контейнери. Контейнер можна порівняти з картотекою — він зберігає набір значень у певному порядку.
Складені або структуровані типи — це типи даних, які мають внутрішню структуру та можуть бути сконструйовані з простих типів даних. Змінна або константа структурованого типу має декілька компонент, об’єднаних спільним ім’ям.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Створення списку
Значення списку вкладаються у квадратні дужки [ ] та відокремлюються одне від одного за допомогою коми. Наприклад:
Список (list) — це упорядкований набір об’єктів різних типів (чисел, рядків, списків тощо), який можна змінювати.
[ ]
У мові Python списки використовуються для зберігання масивів даних.
a = [1, -2, 3.3, 'text']
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Створення списку
Одновимірний масив — це пронумерована послідовність значень одного типу, що мають спільне ім’я.
Хоча Python дозволяє зберігати у списку елементи різних типів, наша мета — навчитися опрацьовувати масиви даних, тобто сукупності однотипних значень, об’єднаних за певною ознакою.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Створення списку
Створити порожній список можна двома способами:
list(): а = list()
за допомогою функції
а = [ ]
використовуючи квадратні дужки
ПРИКЛАД 1. Створити об’єкт animal типу список і надати йому значення:
animal = ["Кіт", "Собака", "Миша", "Хом’як"]
0
1
2
3
Список animal
"Кіт" | "Собака" | "Миша" | "Хом’як" |
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Створення списку
ПРИКЛАД 2.
Визначити, чи є в списку letters елемент 'a':
if 'a' in letters:
print('так')
else:
print("символу 'a' в списку немає")
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Створення списку
Додати елемент до списку можна так:
за допомогою методу append()
за допомогою операції об’єднання
Додати до списку a = [2, 6,4] елемент 10:
Заповнити список числами від 0 до 4:
>>> а.append(10)
>>> print(а)
[2, 6, 4, 10]
>>> a = []
>>> for i in range(5):
a = a+[i]
>>> a
[0, 1, 2, 3, 4]
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Створення списку
ПРИКЛАД 3. Створення списку з 5 цілих чисел, що вводяться з клавіатури.
a = []
for i in range(5):
n = int(input(str(i)+'? '))
a.append(n)
print(a)
0? 3
1? 5
2? 2
3? 15
4? 90
[3, 5, 2, 15, 90]
Програмний код
Результат виконання
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Створення списку
ПРИКЛАД 4. Заповнення списку 5 випадковими числами.
from random import*
a = []
for i in range(5):
a = a+[randint(1, 10)]
print(a)
Програмний код
Результат роботи програми може бути таким:
[9, 1, 6, 3, 8]
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Генератори списків
Синтаксис генератора списків:
Генератор списків — це синтаксична конструкція, що призначена для створення списків і заповнення їх значеннями за певними правилами.
list_variable = [<вираз> for x in iterable]
Конструкція береться у квадратні дужки, що означає, що результатом роботи генератора є список.
значення, які вибираються з послідовності iterable
вираз, що обчислюється для кожного значення х і використовується як елемент списку list_variable
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Генератори списків
ПРИКЛАД 5. Створити список з перших 10 натуральних чисел.
>>> a = [i for i in range(1, 11)]
>>> a
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Генератори списків
ПРИКЛАД 6. Створити список а з квадратів елементів списку b.
>>> b = [2, –2, 4, –4, 7, 5]
>>> а = [i**2 for i in b]
>>> b
[4, 4, 16, 16, 49, 25]
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Генератори списків
ПРИКЛАД 7. Створити список а з перших літер елементів списку аnimal.
>>> animal = ["Кіт", "Собака", "Миша", "Хом’як"]
>>> а = [x[0] for x in animal]
>>> а
['К', 'С', 'М', 'Х']
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Доступ до елементів списку
Доступ до елемента списку можна отримати за його індексом (номером у списку). Нумерація елементів починається з нуля.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Доступ до елементів списку
Над списками можна виконувати прості дії:
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Доступ до елементів списку
Об’єднання (конкатенація) списків задається операндом «+». Особливості застосування цієї операції подано на прикладах у таблиці:
Фрагмент програми
Результат
[1, 2, 3, 4, 5, 6]
[4, 5, 6, 1, 2, 3]
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Доступ до елементів списку
(Продовження…) Об’єднання (конкатенація) списків:
Фрагмент програми
Результат
[1, 2, 3, 4]
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Доступ до елементів списку
Дублювання списку задають операндом «*» за правилами, які описано на прикладах таблиці:
Фрагмент програми
Результат
[1, 2, 3, 1, 2, 3, 1, 2, 3]
[]
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Доступ до елементів списку
(Продовження…) Дублювання списку:
Фрагмент програми
Результат
[]
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Доступ до елементів списку
Фрагмент списку має назву зріз. Щоб отримати потрібний фрагмент, вказують початковий і кінцевий індекс елемента за правилами, подібними до утворення зрізів у рядках:
Фрагмент програми
Результат
[2, 3]
[1, 2, 3]
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Доступ до елементів списку
(Продовження…) Зріз списку:
Фрагмент програми
Результат
[4, 5, 6]
[4, 5, 6]
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Доступ до елементів списку
Для визначення кількості елементів списку використовують функцію len().
ПРИКЛАД 8. Дано список а = [2, 15, 3, –5, 10]. Проаналізуємо результати виконання в консолі дій зі списком.
len(а)
Вивести елемент списку з індексом 3
а[3]
5
-5
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Доступ до елементів списку
Елементи списку можна змінювати. Для цього слід звернутись до індексу списку та за адресою цього індекса надати нове значення:
['a', 'b', 'f', 'd']
Результат:
List = [ ]
0
1
2
3
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Доступ до елементів списку
ПРИКЛАД 9. Замінити нулями перші 3 елементи списку а:
a = [2, 15, 3, -5, 10]
a[0: 3] = [0]*3
print(a)
[0, 0, 0, –5, 10]
Отже, списки є гнучким і потужним інструментом для збереження сукупностей даних у певному порядку.
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Питання для самоперевірки
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Розгадайте ребус
«Ребуси українською» © rebus1.com
Масив
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Домашнє завдання
Проаналізувати
§ 29, с. 174-180
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Працюємо за комп’ютером
Сторінка
179-180
© Вивчаємо інформатику teach-inf.com.ua
Розділ 5
§ 29
Дякую за увагу!
За навчальною програмою 2017 року
Урок 47
Інформатика 9
teach-inf.com.ua
за підручником
Бондаренко О.О. та ін.