VisuAlg Web

Matrizes em Python: listas de listas e linhas independentes

Alterar uma célula sem modificar outra linha em Python. Execute o exemplo, confira o resultado e pratique os casos de limite no VisuAlg Web.

Matrizes em Python são geralmente listas de listas, acessadas como mat[linha][coluna].

Exemplo de códigoPython
# 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])
Exemplo de códigoPython
# 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.

Exemplo de códigoPython
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.