Imprimir matriz em Python

Manav Narula 30 janeiro 2023
  1. Use o Loop for para imprimir a matriz em Python
  2. Use o método de compreensão de lista para imprimir a matriz em Python
Imprimir matriz em Python

As matrizes são muito utilizadas em matemática e estatística para representação de dados e resolução de várias equações lineares. Na programação, os arrays 2D são tratados como um array.

Em Python, temos muitas funções e classes disponíveis para realizar diferentes operações em matrizes. Neste tutorial, aprenderemos como imprimir um array em Python.

Mostramos como um array 2-D é normalmente impresso em Python com todos os colchetes e sem espaçamento adequado no código a seguir.

import numpy as np

a = np.array([[1, 2, 3], [3, 4, 5], [7, 8, 9]])

print(a)

Resultado:

[[1 2 3]
 [3 4 5]
 [7 8 9]]

Nos métodos discutidos abaixo, imprimiremos a matriz em um formato de tipo de array limpa.

Use o Loop for para imprimir a matriz em Python

Este método irá iterar através do array usando o loop for e imprimir cada linha individualmente após formatá-la apropriadamente. O código a seguir mostra como.

import numpy as np

a = np.array([[1, 2, 3], [3, 4, 5], [7, 8, 9]])

for line in a:
    print("  ".join(map(str, line)))

Resultado:

1  2  3
3  4  5
7  8  9

Usamos a função map, que converte toda a linha em uma string, e então aplicamos a função join a essa linha inteira, que converte tudo em uma única string e separa os elementos pelo separador especificado.

Use o método de compreensão de lista para imprimir a matriz em Python

A compreensão de listas oferece uma maneira concisa e elegante de trabalhar com listas em uma única linha de código.

Este método também usa o loop for, mas é considerado um pouco mais rápido do que usá-lo tradicionalmente, como no método anterior.

Tome o seguinte código como exemplo.

import numpy as np

a = np.array([[1, 2, 3], [3, 4, 5], [7, 8, 9]])

print("\n".join(["".join(["{:4}".format(item) for item in row]) for row in a]))

Resultado:

   1   2   3
   3   4   5
   7   8   9

Embora o código acima use quase as mesmas funções do método anterior, ele o faz de maneira mais eficiente e em uma linha. A outra diferença principal é a função format() usada aqui para fornecer o espaçamento necessário entre os elementos da string.

Outra forma de empregar esse método é mostrada a seguir. Aqui, dividimos o código separadamente em linhas individuais e tentamos fazer com que a matriz se pareça com uma estrutura semelhante a uma tabela.

import numpy as np

a = np.array([[1, 2, 3], [3, 4, 5], [7, 8, 9]])

s = [[str(e) for e in row] for row in a]
lens = [max(map(len, col)) for col in zip(*s)]
fmt = "\t".join("{{:{}}}".format(x) for x in lens)
table = [fmt.format(*row) for row in s]
print("\n".join(table))

Resultado:

1	2	3
3	4	5
7	8	9
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn