Há alguns dias atrás, eu estava trabalhando em um projeto Python e tive que fazer uso de listas. Eu criei uma lista vazia e dei-lhe o nomecost_array
. Um amigo viu isso e fez a pergunta:
“Qual é a diferença entre uma Lista e um Array?”
Comecei a ponderar porque antes eu sempre considerei dados do tipo como listas em Python e arrays em Javascript. Aparentemente, um Array é também um tipo de dado em Python, o que significa que temos o tipo
array
e list
(sendo o tipo de lista mais popular). A maioria das pessoas usa arrays quando se aventuram em Data Science e fazem uso de bibliotecas como numpy
. Os arrays são o verdadeiro cavalo de batalha das estruturas de dados para aplicações científicas e de engenharia. O tipo mais popular de array usado em Python é o numpy
array.
- Both são usados para armazenar dados
- Both são mutáveis
- Both podem ser indexados e iterados
- Both podem ser cortados
Diferenças
A principal diferença entre estes dois tipos de dados é a operação que você pode executar neles. Arrays são especialmente otimizados para cálculos aritméticos, então se você vai executar operações similares você deve considerar o uso de um array ao invés de uma lista.
As listas também são containers para elementos com diferentes tipos de dados, mas arrays são usados como containers para elementos do mesmo tipo de dados.
O exemplo abaixo é o resultado de dividir um array por um certo número e fazer o mesmo para uma lista. Quando tentamos a mesma operação (exemplo: divisão) em uma lista, obtemos um TypeError porque a construção de listas python não suporta o protocolo `__div__`. É preciso um passo extra para realizar este cálculo em uma lista, porque então você teria que passar por cima de cada item, um após o outro, e salvar em outra lista.
Stress!!