Python - array 2D
A matriz bidimensional é uma matriz dentro de uma matriz. É uma série de matrizes. Neste tipo de array, a posição de um elemento de dados é referenciada por dois índices em vez de um. Portanto, ele representa uma tabela com linhas e colunas de dados. No exemplo abaixo de um array bidimensional, observe que cada elemento do array em si também é um array.
Considere o exemplo de registrar temperaturas 4 vezes ao dia, todos os dias. Algumas vezes, o instrumento de gravação pode estar com defeito e não conseguimos registrar os dados. Esses dados para 4 dias podem ser apresentados como uma matriz bidimensional como abaixo.
Day 1 - 11 12 5 2
Day 2 - 15 6 10
Day 3 - 10 8 12 5
Day 4 - 12 15 8 6
Os dados acima podem ser representados como uma matriz bidimensional conforme abaixo.
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
Acessando valores em uma matriz bidimensional
Os elementos de dados em duas matrizes dimensionais podem ser acessados usando dois índices. Um índice se refere à matriz principal ou pai e outro índice se refere à posição do elemento de dados na matriz interna. Se mencionarmos apenas um índice, todo o array interno é impresso para essa posição de índice. O exemplo abaixo ilustra como isso funciona.
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
print(T[0])
print(T[1][2])
Quando o código acima é executado, ele produz o seguinte resultado -
[11, 12, 5, 2]
10
Para imprimir todo o array bidimensional, podemos usar python for loop conforme mostrado abaixo. Usamos o fim da linha para imprimir os valores em linhas diferentes.
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
for r in T:
for c in r:
print(c,end = " ")
print()
Quando o código acima é executado, ele produz o seguinte resultado -
11 12 5 2
15 6 10
10 8 12 5
12 15 8 6
Inserindo Valores em Matriz Bidimensional
Podemos inserir novos elementos de dados em uma posição específica usando o método insert () e especificando o índice.
No exemplo abaixo, um novo elemento de dados é inserido na posição de índice 2.
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
T.insert(2, [0,5,11,13,6])
for r in T:
for c in r:
print(c,end = " ")
print()
Quando o código acima é executado, ele produz o seguinte resultado -
11 12 5 2
15 6 10
0 5 11 13 6
10 8 12 5
12 15 8 6
Atualizando Valores em Matriz Bidimensional
Podemos atualizar todo o array interno ou alguns elementos de dados específicos do array interno reatribuindo os valores usando o índice do array.
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
T[2] = [11,9]
T[0][3] = 7
for r in T:
for c in r:
print(c,end = " ")
print()
Quando o código acima é executado, ele produz o seguinte resultado -
11 12 5 7
15 6 10
11 9
12 15 8 6
Excluindo os valores em uma matriz bidimensional
Podemos excluir toda a matriz interna ou alguns elementos de dados específicos da matriz interna reatribuindo os valores usando o método del () com índice. Mas caso você precise remover elementos de dados específicos em uma das matrizes internas, use o processo de atualização descrito acima.
from array import *
T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
del T[3]
for r in T:
for c in r:
print(c,end = " ")
print()
Quando o código acima é executado, ele produz o seguinte resultado -
11 12 5 2
15 6 10
10 8 12 5