Converter NumPy Array em List em Python

Manav Narula 10 outubro 2023
  1. Use o método tolist() para converter un array NumPy em uma lista
  2. Use o for Loop para converter un array NumPy em uma lista em Python
Converter NumPy Array em List em Python

Listas e arrays são dois dos objetos de coleção mais fundamentais e usados ​​com frequência em Python.

Ambos são mutáveis, usados ​​para armazenar uma coleção de elementos sob um nome comum, e cada elemento tem uma posição específica que pode ser usada para acessá-lo.

No entanto, existem algumas diferenças notáveis. As listas já estão embutidas no Python, enquanto para os arrays, precisamos importar arrays ou módulo NumPy e declarar os arrays antes de usá-los. Os arrays também armazenam dados com mais eficiência na memória e são altamente usados ​​para operações matemáticas.

Neste tutorial, converteremos um array numpy em uma lista.

Use o método tolist() para converter un array NumPy em uma lista

O método tolist() do array NumPy pode converter um array numpy em uma lista.

Por exemplo,

import numpy as np

oned = np.array([[1, 2, 3]])
twod = np.array([[1, 2, 3], [4, 5, 6]])

print(oned.tolist())
print(twod.tolist())

Resultado:

[[1, 2, 3]]
[[1, 2, 3], [4, 5, 6]]

Observe que esse método trata toda a matriz como um elemento. É por isso que, quando o usamos com um array 2-D, ele retorna uma lista de listas.

Para evitar isso, podemos usar tolist() com o método flatten() ou ravel(), que pode converter un array N-D em un array linear 1-D. Ambos os métodos executam a mesma funcionalidade. A diferença é que o método ravel() retorna uma visão de referência do array e afeta o array original, enquanto o método flatten() funciona em uma cópia do array. Por isso, a função ravel() é considerada mais rápida e ocupa menos memória.

O código a seguir mostra o uso dessas funções.

import numpy as np

oned = np.array([1, 2, 3])
twod = np.array([[1, 2, 3], [4, 5, 6]])

print(oned.flatten().tolist())
print(twod.flatten().tolist())


print(oned.ravel().tolist())
print(twod.ravel().tolist())

Resultado:

[1, 2, 3]
[1, 2, 3, 4, 5, 6]
[1, 2, 3]
[1, 2, 3, 4, 5, 6]

Use o for Loop para converter un array NumPy em uma lista em Python

Este é apenas um método básico para alguém que é novo em programação ou deseja personalizar a lista final. Nós iteramos por meio de um array e acrescentamos cada elemento individualmente a uma lista vazia. O código a seguir implementa isso.

import numpy as np

arr = np.array([1, 2, 3])
lst = []

for x in arr:
    lst.append(x)

print(lst)

Resultado:

[1, 2, 3]
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

Artigo relacionado - Python Array