Matrizes em Python são geralmente listas de listas, acessadas como mat[linha][coluna].
# 2x2 matrix in Python (list of lists)
matrix = [
[10, 20],
[30, 40]
]
# In Python, indexes start at 0
print("The value at row 2, column 1 is:", matrix[1][0])
# Creates a 3x3 matrix initialized with zeros
m = [[0] * 3 for _ in range(3)]
# Filling the matrix with numbers based on positions
def show_matrix():
for l in range(3):
for c in range(3):
m[l][c] = l + c
print(f"[{m[l][c]:2}]", end=" ")
print()
show_matrix()
Alterar uma célula sem modificar outra linha
Uma matriz pode ser representada por uma lista de linhas, cada uma sendo outra lista. Primeiro você escolhe a linha, depois a coluna; as duas contagens começam em zero. No exemplo, a posição de linha 1 e coluna 0 recebe nove. As linhas foram construídas como listas independentes. Repetir a mesma lista interna pode compartilhar uma única linha entre posições e produzir alterações inesperadas em várias linhas ao mesmo tempo.
Preserve a indentação dos blocos ao modificar este exemplo em Python.
matriz = [[1, 2], [3, 4]]
matriz[1][0] = 9
for linha in matriz:
print(linha[0], linha[1])
Resultado esperado e testes
Execute o exemplo sem fornecer entradas. A saída deve ser:
1 2 9 4
A primeira linha deve continuar 1 2 depois da alteração. Em uma matriz de duas linhas e duas colunas, os índices válidos são 0 e 1. O índice 2 fica fora do limite. Como exercício, some apenas a diagonal principal e compare com a soma de todos os elementos. Explique qual par de índices pertence à diagonal.
Depois, compare o raciocínio com a versão do mesmo assunto nas outras linguagens do menu.