Двовимірний масив — це таблиця, що складається з рядків і стовпців. У кожній клітинці зберігається окремий елемент.
У Python немає окремого типу «масив», але ми можемо реалізувати двовимірний масив за допомогою списків списків.
Наприклад:
matrix = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
Двовимірний масив (таблиця), як і одновимірний, може містити елементи будь-якого типу, але лише одного.
Масив складається з фіксованої кількості рядків і стовпців. У побуті двовимірні масиви часто називають таблицями, а в математиці — матрицями.
Можна сказати що двовимірний масив – це одновимірний масив елементами якого є одновимірні масиви.
Кожен елемент масиву має два індекси, які вказані в квадратних дужках (його номери позицій) у масиві, перед дужками його ім’я
Створити двовимірний масив у мові Python можна різними способами:
вводити значення елементів із клавіатури
обчислювати значення та присвоювати їх елементам масиву тощо
створити переліченням у квадратних дужках значень його елементів праворуч від оператора присвоювання
Наприклад, у результаті виконання оператора
mas= [[1, 2, 3],[4, 5, 6],[7, 8, 9]]
елементи масиву з іменем mas набувають таких значень:
mas[0][0] = 1, mas[0][1] = 2, mas[0][2] = 3,
mas[1][0] = 4, mas[1][1] = 5, mas[1][2] = 6,
mas[2][0] = 7, mas[2][1] = 8, mas[2][2] = 9.
Нумерація елементів у масивах мови Python починається з нуля.
mas=[[0]*4 for i in range(3)]
[0]*4
Створюється список із 4 нулями: [0, 0, 0, 0].
for i in range(3)
Це цикл, який тричі створює новий рядок [0, 0, 0, 0].
[[0] * 4 for i in range(3)]
Отримуємо двовимірний список (матрицю) розміром 3×4, де кожен рядок — це окремий список із чотирма нулями.
Над елементами двовимірних масивів можна виконувати ті ж самі операції, що і над елементами одновимірних масивів. Розглянемо пошук підсумкових значень, що задовольняють задану умову, виконавши практичну вправу.
Завдання. Заповнити двовимірний масив цілих чисел розміром 3x4 випадковими числами з інтервалу [10, 90]. Знайти у цьому масиві суму парних чисел та кількість тих, що закінчуються цифрою 5.
1. Уведіть команди створення масиву:
from random import*
mas=[[0]*4 for i in range(3)]
for i in range(3):
for j in range(4):
mas[i][j]=randint(10,90)
print(mas[i][j],end='\t') # end визначає, що буде поставлено після виведеного елемента '\t' — табуляцію (великий відступ).
print()
Як і у випадку опрацювання одновимірних масивів для знаходження суми або кількості елементів, що задовольняють вказану умову, у програмі створюються змінні, яким надають початкове значення, рівне 0.
2. Перед оператором циклу додайте команди встановлення початкових значень змінним для знаходження суми та кількості:
s=0
k=0
3. У тілі попереднього циклу додайте команди обчислення суми парних елементів:
if mas[i][j]%2==0:
s=s+mas[i][j]
Так, у першому рядку здійснюється перевірка, чи є поточний елемент масиву парним, якщо умова виконується, то даний елемент додається до значення змінної s. Після чого здійснюється перехід до перевірки наступного елемента.
4. Самостійно додайте команду виведення значення суми.
5. Запустіть програму та переконайтеся, що суму знайдено правильно.
6. У тілі цього ж циклу додайте команди обчислення кількості чисел, що закінчуються цифрою 5:
if mas[i][j]%10==5:
k=k+1
Так, у першому рядку здійснюється перевірка, чи закінчується поточний елемент масиву на 5, якщо умова виконується, то значення змінної k збільшується на 1.
7. Самостійно додайте команду виведення значення кількості.
8. Запустіть програму та переконайтеся, що кількість знайдено правильно.