Blog

Postado em em 1 de fevereiro de 2024

Estruturas de Dados em Python – Listas, Tuplas e Conjuntos

Aprenda a diferença entre as estruturas de dados em Python: lista, tupla e conjunto. Saiba como cada uma dessas estruturas funciona e quando utilizá-las.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Estruturas de Dados em Python – Listas, Tuplas e Conjuntos

Nesta aula, vou te ensinar qual é a diferença entre as estruturas de dados em Python: lista, tupla e conjunto. Como cada uma dessas estruturas funciona e quando você deve utilizá-las.

Vou te mostrar exemplos práticos pegando valores em listas, tuplas e conjuntos (sets), como adicionar informações e como lidar com valores repetidos.

Você vai perceber que cada uma dessas estruturas tem suas peculiaridades e características. Dependendo da sua aplicação, você pode utilizá-las e até combiná-las para conseguir executar sua atividade e obter o resultado esperado.

Então, faça o download do material disponível e vem comigo, que hoje eu vou te mostrar a diferença entre entre as estruturas de dados em Python!

Estruturas de Dados do Python – Lista, Tupla e Conjunto (set)

Listas, tuplas e sets (Conjuntos) são estruturas no Python capazes de armazenar dados e informações.

lista_produtos = ["iphone", "ipad", "airpod", "macbook"]
tupla_produtos = ("iphone", "ipad", "airpod", "macbook")
set_produtos = {"iphone", "ipad", "airpod", "macbook"}

Cada uma delas tem características distintas e são adequadas para situações diferentes. As listas são definidas entre colchetes [], as tuplas entre parênteses (), e os conjuntos entre chaves {}.

Diferença entre Set e Dicionário em Python

Apesar de tanto os sets quanto os dicionários em Python serem declarados entre chaves {}, você pode perceber a diferença entre eles pelo fato de que um set armazena apenas valores, enquanto os dicionários armazenam pares de chave e valor dentro deles.

set_produtos = {"iphone", "ipad", "airpod", "macbook"}
dic_produtos = {"iphone": 1500, "ipad": 5000, "airpod": 2000, "macbook": 3000}

Listas em Python

Listas em Python são estruturas mutáveis que podem armazenar vários tipos de dados (números, strings, objetos, etc). Inclusive, ela pode armazenar diferentes tipos ao mesmo tempo.

Os dados de uma lista podem ser manipulados, adicionados ou removidos após a criação dela.

lista_produtos = ["iphone", "ipad", "airpod", "macbook"]

Tuplas em Python

As tuplas em Python são sequências imutáveis que também podem armazenar vários tipos diferentes de dados ao mesmo tempo.

No entanto, ao contrário de uma lista, após criada, uma tupla não pode ser modificada. Ou seja, não é possível adicionar, remover ou modificar as informações contidas nela.

tupla_produtos = ("iphone", "ipad", "airpod", "macbook")

Por padrão, a tupla é a estrutura que o Python adota para retornar o resultado de uma função com múltiplos valores. Isso ocorre porque, quando a função foi criada, foi definida a quantidade de valores que ela deveria retornar, e a estrutura da tupla, por ser imutável, garante esse retorno.

Set em Python – Conjunto em Python

Os sets são estruturas mutáveis no Python que não possuem uma ordem definida e não permitem valores duplicados dentro deles. Ou seja, são um conjunto de elementos únicos não ordenados.

É possível adicionar e remover elementos de um set, porém não é possível acessá-los por índice, já que os conjuntos não têm uma ordem fixa de ordenação.

set_produtos = {"iphone", "ipad", "airpod", "macbook"}

Eles são muito úteis para remover duplicatas. Por exemplo, caso você possua uma lista com valores duplicados, você pode convertê-la em um set e, em seguida, novamente em uma lista. A conversão para o set remove os valores duplicados da lista original.

Exemplos Práticos

Vamos ver alguns exemplos práticos para fixar melhor a diferença entre lista, tupla e conjunto em Python.

lista_produtos = ["iphone", "ipad", "airpod", "macbook"]
tupla_produtos = ("iphone", "ipad", "airpod", "macbook")
set_produtos = {"iphone", "ipad", "airpod", "macbook"}

Exemplo prático 1 – Pegar Valores

A partir dessas 3 estruturas já definidas, vamos pegar o primeiro item de cada uma delas. Podemos fazer isso através do índice de cada uma, lembrando que em Python, a indexação começa em 0.

print(lista_produtos[0])
print(tupla_produtos[0])
print(set_produtos[0])
Erro ao Pegar Valores

Repare que conseguimos retornar o primeiro item da lista e da tupla; no entanto, o set nos retornou um erro. Isso ocorre porque os sets não permitem acessar um item específico diretamente.

Os sets não armazenam os elementos em uma ordem definida, então não é possível acessar essas posições dentro dele. Eles são mais utilizados para garantir a unicidade das informações, ou seja, assegurar que não haja elementos duplicados dentro dele.

Portanto, quando queremos pegar uma informação de dentro do set, o mais comum é transformá-lo em uma lista e, assim, acessarmos o item pelo índice.

Pegar Valores

No entanto, como o set não possui uma ordem definida, o item de índice 0 mudará a cada vez que você executar o código, e não corresponderá à ordem em que ele foi declarado.

Por esse motivo, não o utilizamos para acessar um único valor, mas sim para trabalhar com um conjunto de informações como uma coisa só.

Exemplo Prático 2 – Adicionar Informações

Dentre essas três estruturas, só é possível adicionar informações nas listas e nos conjuntos (sets), pois, como vimos anteriormente, as tuplas são imutáveis após a sua criação.

Para adicionar um elemento em uma lista, utilizamos o método .append(). Já para adicionar um elemento a um set, utilizamos o método .add().

lista_produtos.append("apple watch")
set_produtos.add("apple watch")

print(lista_produtos)
print(tupla_produtos)
print(set_produtos)
Adicionar Informações

A única forma de “adicionar” uma informação em uma tupla é, na verdade, criando uma nova tupla com os valores desejados.

As tuplas são muito úteis justamente por essa característica. Elas garantem que um conjunto de informações seja consistente e imutável, por exemplo, ao definir parâmetros para uma função ou garantir que essa função retorne um conjunto de valores.

As tuplas garantem que a quantidade e a ordem dos elementos permaneçam constantes.

Exemplo Prático 3 – Informações Repetidas

Para esse último exemplo, vamos ver como remover duplicatas dessas estruturas. Para isso, vamos considerar a lista, a tupla e o conjunto abaixo.

lista_produtos = ["iphone", "ipad", "airpod", "macbook", "macbook"]
tupla_produtos = ("iphone", "ipad", "airpod", "macbook", "macbook")
set_produtos = {"iphone", "ipad", "airpod", "macbook", "macbook"}

Observe que em todas essas estruturas temos a informação do “macbook” duplicada. Se executarmos um print de cada uma delas, veremos que, mesmo criando o set com um item duplicado, ele não exibirá esse item duas vezes.

print(lista_produtos)
print(tupla_produtos)
print(set_produtos)
Informações Repetidas

Por isso, os sets são uma boa prática quando você deseja remover duplicatas de uma lista. Você pode transformá-la primeiro em um set temporariamente, o que removerá as duplicatas, e em seguida transformá-la em lista novamente.

lista_produtos = list(set(lista_produtos))
print(lista_produtos)

Lista pra set

Conclusão – Estruturas de Dados em Python – Listas, Tuplas e Conjuntos

Na aula de hoje, você aprendeu qual é a diferença entre as estruturas de dados em Python: lista, tupla e conjunto. Como cada uma dessas estruturas funciona e quando utilizá-las.

Vimos que listas são estruturas ordenadas e mutáveis. Tuplas são coleções ordenadas e imutáveis, úteis para garantir a consistência das informações. E conjuntos (sets) são estruturas não ordenadas de elementos únicos, muito úteis para remover duplicatas.

Cada uma dessas estruturas possui aplicações específicas, então saber trabalhar com elas individualmente e combinadas irá garantir que você consiga executar melhor suas atividades e trabalhos, alcançando os resultados esperados.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador