Lista vs Tupla: Diferença entre Lista e Tupla

Publicados: 2021-01-08

Em Python, lista e tupla são uma classe de estrutura de dados que pode armazenar um ou mais objetos ou valores. Uma lista é usada para armazenar vários itens em uma variável e pode ser criada usando colchetes. Da mesma forma, as tuplas também podem armazenar vários itens em uma única variável e podem ser declaradas usando parênteses.

Embora existam muitas diferenças entre lista e tupla, também existem algumas semelhanças, como segue:

  • As duas estruturas de dados são tipos de dados de sequência que armazenam coleções de itens.
  • Itens de qualquer tipo de dados podem ser armazenados neles.
  • Os itens podem ser acessados ​​por seu índice.

Índice

Lista vs Tupla

A tabela abaixo inclui a diferença básica entre lista e tupla em Python.

Lista Tupla
é mutável É imutável
A implicação de iterações é demorada na lista. As implicações de iterações são muito mais rápidas em tuplas.
Operações como inserção e exclusão são mais bem executadas. Os elementos podem ser acessados ​​melhor.
Consome mais memória. Consome menos memória.
Muitos métodos integrados estão disponíveis. Não tem muitos métodos embutidos.
Erros e alterações inesperados podem ocorrer facilmente nas listas.

Erros inesperados e mudanças raramente ocorrem em tuplas.

As seções a seguir fornecem uma versão detalhada de lista vs tupla para melhor compreensão.

Diferença na sintaxe

Conforme mencionado na introdução, a sintaxe para lista e tupla são diferentes. Por exemplo:

lista_núm = [10, 20, 30, 40]

tup_num = (10, 20, 30, 40)

Mutabilidade

Uma das diferenças mais importantes entre lista e tupla é que a lista é mutável, enquanto uma tupla é imutável. Isso significa que as listas podem ser alteradas e as tuplas não podem ser alteradas.

Assim, algumas operações podem funcionar em listas, mas não em tuplas. Por exemplo, em ciência de dados, se uma lista já existe, elementos específicos dela podem ser reatribuídos. Junto com isso, toda a lista pode ser reatribuída. Elementos e fatias de elementos podem ser excluídos da lista.

Por outro lado, elementos específicos na tupla não podem ser reatribuídos ou excluídos, mas é possível cortá-lo e até reatribuir e excluir toda a tupla. Como as tuplas são imutáveis, elas não podem ser copiadas.

Confira: Python vs Java

Operações

Embora existam muitas operações semelhantes a listas e tuplas, as listas têm funcionalidades adicionais que não estão disponíveis com tuplas. Estas são operações de inserção e pop, e ordenação e remoção de elementos na lista.

Funções

Algumas das funções do Python podem ser aplicadas a ambas as estruturas de dados, como len, max, min, any, sum, all e sorted.

Tamanho

Em Python, tuplas recebem grandes blocos de memória com menor sobrecarga, pois são imutáveis; enquanto para listas, pequenos blocos de memória são alocados. Entre os dois, as tuplas têm memória menor. Isso ajuda a tornar as tuplas mais rápidas do que as listas quando há um grande número de elementos.

Tipo de elementos

Elementos pertencentes a diferentes tipos de dados, ou seja, elementos heterogêneos, geralmente são armazenados em tuplas. Enquanto elementos homogêneos, elementos dos mesmos tipos de dados, geralmente são armazenados em listas. Mas isso não é uma restrição para as estruturas de dados. Elementos de tipo de dados semelhantes podem ser armazenados em tuplas e elementos de tipo de dados diferentes também podem ser armazenados em listas.

Comprimento

Os comprimentos diferem nas duas estruturas de dados. As tuplas têm um comprimento fixo, enquanto as listas têm comprimentos variáveis. Assim, o tamanho das listas criadas pode ser alterado, mas esse não é o caso das tuplas.

Depuração

Quando se trata de depuração, em listas versus tuplas, as tuplas são mais fáceis de depurar para projetos grandes devido à sua imutabilidade. Portanto, se houver um projeto menor ou uma quantidade menor de dados, é melhor usar listas. Isso ocorre porque as listas podem ser alteradas, enquanto as tuplas não, tornando as tuplas mais fáceis de rastrear.

Listas e tuplas aninhadas

Tuplas podem ser armazenadas em listas e, da mesma forma, listas podem ser armazenadas dentro de tuplas. Em tuplas aninhadas, uma tupla pode conter mais tuplas. E em listas aninhadas, uma lista pode conter mais listas.

Usos

É importante entender que existem diferentes casos em que é melhor usar uma dessas estruturas de dados, como; o uso de qualquer um deles depende do programador, ou seja, escolher um com base se deseja alterar os dados posteriormente ou não.

Tuplas podem ser usadas como equivalente a um dicionário sem chaves para armazenar dados. Quando as tuplas são armazenadas em listas, é mais fácil ler os dados.

Leia: Mais tipos de estruturas de dados em Python

Conclusão

Este artigo ajuda a entender as diferenças entre listas e tuplas. Embora ambos os tipos sejam estruturas de dados em Python, é importante estar familiarizado com essas diferenças ao fazer uma escolha. As diferenças mais importantes a serem lembradas é que as listas são mutáveis ​​e as tuplas não, as listas têm tamanhos variáveis ​​e as tuplas têm tamanhos fixos. Por último, as operações em tuplas podem ser executadas mais rapidamente.

Se você está lendo este artigo, provavelmente tem ambições de se tornar um desenvolvedor Python. Se você estiver interessado em aprender python e quiser colocar a mão na massa em várias ferramentas e bibliotecas, confira o Programa PG Executivo em Ciência de Dados do IIIT-B & upGrad.

Quando uma lista Python é preferida para armazenar dados?

A lista Python é considerada a melhor estrutura de dados para armazenar os dados nos seguintes cenários: Uma lista pode ser usada para armazenar vários valores com diferentes tipos de dados e pode ser acessada apenas por seus respectivos índices. Quando você precisa realizar operações matemáticas sobre os elementos, uma lista pode ser usada, pois permite operar matematicamente os elementos diretamente. Como uma lista pode ser redimensionada, ela pode ser usada para armazenar os dados quando você não tiver certeza sobre o número de elementos a serem armazenados.

Indique as várias operações de namedtuple.

A namedtuple em Python executa várias operações. A seguir está uma lista de algumas das operações mais comuns executadas pelo namedtuple - Acesso por índice, Acesso por nome de chave, make(), _asadict(), usando o operador “**” (estrela dupla), _fileds(), _replace (), etc

Quais são as diferentes maneiras de criar uma lista?

Uma lista Python pode ser criada de várias maneiras mencionadas aqui. Usando loops for - Um loop for é a maneira mais elementar de criar uma lista. Uma lista pode ser criada usando um loop for de três maneiras simples - Criar uma lista vazia, Iterar sobre todos os elementos que devem ser inseridos, Acrescentar cada elemento na lista usando a função append(). Usando map(): A função map() em Python pode ser usada alternativamente para criar uma lista. Esta função aceita dois parâmetros - Função: A função para a qual o mapa passa cada iterável e Iterable: O elemento ou o iterável a ser mapeado. Usando compreensões de lista: Este método é o mais otimizado de todos os três métodos. Enquanto nos métodos acima uma lista vazia deve ser criada primeiro, as compreensões de lista permitem que você insira todos os elementos em uma lista usando uma única linha.