1 of 16

Поняття двовимірного масиву

За навчальною програмою 2017 року

Урок 59

Інформатика 9

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.

2 of 16

Поняття двовимірного масиву

Списки корисні для опрацювання таблиць, які містять один рядок даних, наприклад таблиця опадів по місяцях за один рік.

А якщо потрібно проаналізувати кількість опадів по місяцях за кілька років?

Під час розв’язування багатьох задач доводиться працювати з таблицями, у яких кілька рядків і кілька стовпців.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

3 of 16

Поняття двовимірного масиву

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

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

Масив називається двовимірним, якщо для задання місцеположення елемента в масиві необхідно вказати значення двох індексів.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

4 of 16

Поняття двовимірного масиву

ПРИКЛАД 1. Збережемо дані таблиці, у змінній а.

1

2

3

12

23

5

13

4

8

6

7

11

a = [[1, 2, 3, 12], [23, 45, 13, 4], [8, 6, 7, 11]]

Кожний елемент списку а також є списком, що містить дані з одного рядка таблиці. Довжина списку len(a) = 3. Звернутися до вкладеного списку (рядка таблиці) можна за його індексом:

a[0] = [1, 2, 3, 12]

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

5 of 16

Поняття двовимірного масиву

Для перебору рядків списку використовується цикл for. Нехай b = [[1, 2, 3, 4], [5, 6], [7, 8, 9]]

Можна перебрати індекси вкладених списків – елементів списку

Можна перебрати всі наявні в списку елементи – рядки таблиці.

for i in range (len(b)):

print(b[i])

for row in b:

print(row)

[1, 2, 3, 4]

[5, 6]

[7, 8, 9]

При використанні обох варіантів циклу в консоль буде виведено:

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

6 of 16

Поняття двовимірного масиву

Положення окремого елемента в таблиці визначається 2 індексами:

номером рядка

номером стовпця

і

Отже, щоб звернутися до елемента у вкладеному списку, слід указати два індекси.

Елемент, розташований на перетині і-го рядка і j-го стовпця масиву А, позначають.

Запам’ятайте, що у двовимірних масивах перший індекс завжди вказує на номер рядка, а другий — на номер стовпця.

А[і] [j]

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

7 of 16

Поняття двовимірного масиву

Елементи списку а з прикладу 1 мають такі значення:

1

2

3

12

23

5

13

4

8

6

7

11

a[0][0] == 1

a[0][1] == 2

a[1][2] == 13

a[1][1] == 5

a[2][2] ==7

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

8 of 16

Поняття двовимірного масиву

Головну діагональ масиву утворюють елементи, для яких:

i == j

Послідовно отримати доступ до всіх елементів двовимірного масиву можна за допомогою вкладених циклів:

зовнішній цикл перебирає вкладені списки (рядки таблиці),

внутрішній цикл перебирає елементи рядка.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

9 of 16

Поняття двовимірного масиву

ПРИКЛАД 2. Виведемо значення списку а на екран порядково, додаючи пробіл між елементами. Зовнішній цикл for i перебирає індекси елементів списку а — рядків двовимірного масиву.

Внутрішній цикл for j перебирає індекси елементів списку а[i] (і-го рядка масиву). Згадаємо, що параметр end = ' ' методу print() потрібен, щоб після виведення курсор залишився в тому самому рядку.

Оператор print() із порожнім списком виведення переводить курсор на наступний рядок.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

10 of 16

Поняття двовимірного масиву

Програмний код

a = [[1, 2, 3, 4], [5, 6], [7, 8, 9]]

for i in range(len(a)):

for j in range(len(a[i])):

print(a[i][j], end = ' ')

print()

1 2 3 4

5 6

7 8 9

Результат виконання

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

11 of 16

Поняття двовимірного масиву

ПРИКЛАД 3. Щоб вивести в консоль значення двовимірного масиву b порядково, можна перебирати всі наявні у зовнішньому списку рядки та у внутрішньому циклі — всі наявні у вкладених списках елементи:

b = [[1, 2, 3, 4], [5, 6], [7, 8, 9]]

for row in b:

for elem in row:

print(elem, end = ' ')

print()

1 2 3 4

5 6

7 8 9

Результат виконання

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

12 of 16

Питання для самоперевірки

  1. Назвіть кількість рядків і кількість стовпців у двовимірному масиві, для збереження якого створено такий вкладений список:

а) a = [[1, 2, 3, 4], [5, 6,1,1], [7, 8, 9,1]]

б) b = [[], [], []]

в) c = [[] for i in range(10)]

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

13 of 16

Розгадайте ребус

масив

«Ребуси українською» © rebus1.com

Двовимірний

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

14 of 16

Домашнє завдання

Проаналізувати

§ 35, с. 210-211

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

15 of 16

Працюємо за комп’ютером

Сторінка

213

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 35

16 of 16

Дякую за увагу!

За навчальною програмою 2017 року

Урок 59

Інформатика 9

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.