Compreensão de Listas para Matrizes em Python
Quando falamos sobre matrizes em Python, geralmente estamos lidando com listas aninhadas (listas dentro de outras listas). A compreensão de listas pode ser muito útil para criar ou manipular matrizes de forma simples e eficiente.
Sintaxe para Matrizes
Se você quiser criar uma matriz com compreensão de listas, basicamente vai usar duas expressões de compreensão de listas: uma para as linhas e outra para os elementos dentro das linhas.
A sintaxe seria algo assim:
matriz = [[expressão for item in linha] for linha in lista_de_listas]
Aqui:
- linha: Cada sublista dentro da lista principal (uma linha da matriz).
- item: Cada valor dentro de uma linha.
- expressão: O que você quer fazer com cada
item(transformar ou modificar de alguma forma).
Exemplo 1: Criando uma matriz 3×3
Vamos criar uma matriz 3×3 onde cada elemento é o quadrado do número formado pela sua posição (linha, coluna).
matriz = [[(i * j) for j in range(1, 4)] for i in range(1, 4)]
print(matriz)
Explicação:
- A compreensão de lista externa cria as linhas da matriz (
for i in range(1, 4)). - A compreensão interna cria os elementos de cada linha (
for j in range(1, 4)). - O valor de cada elemento da matriz é o produto de
iej, ou seja, a multiplicação da linha pela coluna.
Saída:
[[1, 2, 3],
[2, 4, 6],
[3, 6, 9]]
Aqui, criamos uma matriz 3×3 onde cada valor é o produto de sua linha e coluna.
Exemplo 2: Matriz com valores modificados
Agora, vamos criar uma matriz 3×3 onde os elementos são elevados ao quadrado.
matriz = [[(i * j) ** 2 for j in range(1, 4)] for i in range(1, 4)]
print(matriz)
Explicação:
- O valor
(i * j) ** 2eleva o valor da multiplicação deiejao quadrado.
Saída:
[[1, 4, 9],
[4, 16, 36],
[9, 36, 81]]
Exemplo 3: Filtrando em Matrizes
Você também pode usar condições dentro da compreensão de listas para filtrar valores em uma matriz.
Vamos criar uma matriz 3×3 com números de 1 a 9, mas somente os números pares.
matriz = [[(i * j) for j in range(1, 4) if (i * j) % 2 == 0] for i in range(1, 4)]
print(matriz)
Explicação:
- A condição
if (i * j) % 2 == 0garante que apenas os números pares sejam adicionados à matriz.
Saída:
[[2], [4, 6], [6]]
Aqui, a matriz contém somente números pares, filtrados durante a criação.
Resumo
A compreensão de listas para matrizes permite criar e manipular facilmente listas de listas em Python (matrizes). Com ela, você pode:
- Criar matrizes com base em uma fórmula ou regra.
- Modificar valores das matrizes (como elevar ao quadrado ou multiplicar).
- Filtrar valores (como pegar apenas números pares ou ímpares).
É uma maneira poderosa de gerar e trabalhar com dados em duas dimensões!
Deixe um comentário
Você precisa fazer o login para publicar um comentário.