Diferença de lista, tupla, conjunto e dicionário em Python

Publicado em: 02/12/2025
Tempo de leitura: 7 minutos
Logo do Python com símbolos de lista, tupla e dicionário

Quando começamos a aprender Python, encontramos diferentes formas de guardar e organizar dados. Entre elas estão listas, tuplas, conjuntos e dicionários. Todas são importantes e usadas com frequência em projetos reais, desde automações simples até sistemas complexos com inteligência artificial. Porém, muitos iniciantes sentem dificuldade para entender as diferenças entre essas estruturas.

Este artigo vai explicar de forma clara e simples para que serve cada uma, como funcionam e quando usar. Você vai ver exemplos práticos e aprender a escolher a melhor opção para cada situação.


O que são estruturas de dados em Python?

Em programação, precisamos guardar informações para trabalhar com elas depois. Por exemplo, guardar nomes de alunos, valores de vendas do mês, temperaturas registradas em uma semana ou produtos de um carrinho de compras.

As estruturas de dados são formas de organizar e armazenar essas informações. No Python, quatro das mais importantes são:

  • Listas (list)
  • Tuplas (tuple)
  • Conjuntos (set)
  • Dicionários (dict)

Cada uma tem características próprias. Algumas podem mudar e outras não. Algumas permitem valores repetidos, e outras não. Algumas mantêm a ordem dos itens, e outras não.

Entender essas diferenças ajuda a escrever código mais organizado, rápido e eficiente.


Comparação geral entre lista, tupla, conjunto e dicionário

A tabela abaixo apresenta uma visão rápida:

EstruturaTipoOrdenadoPermite repetiçãoPode alterarExemplo simples
ListaSequênciaSimSimSim[1, 2, 3]
TuplaSequênciaSimSimNão(1, 2, 3)
ConjuntoColeção matemáticaNãoNãoSim{1, 2, 3}
DicionárioPares chave-valorSimNão para chavesSim{"nome": "Ana"}

Lista em Python: flexível e muito utilizada

Uma lista é uma estrutura que guarda vários valores juntos e permite alterar quando quiser. Pode guardar números, textos e até outras listas. É uma das estruturas mais usadas pelos programadores.

Características importantes da lista

  • Mantém a ordem dos itens
  • Permite valores repetidos
  • Pode adicionar, remover e modificar elementos
  • Aceita valores de tipos diferentes

Exemplo simples de lista

Python

frutas = ["maçã", "banana", "uva", "banana"]
print(frutas)
Pronto para executar

Podemos mudar itens depois de criar a lista:

Python

frutas = ["maçã", "banana", "uva", "banana"]
frutas[1] = "morango"
print(frutas)
Pronto para executar

Exemplos do mundo real usando listas

  • Lista de tarefas do dia
  • Lista de produtos de um mercado
  • Histórico de mensagens de um chat
  • Guardar dados lidos de uma planilha Excel

Você pode aprender mais sobre listas no artigo completo que já existe no blog:
👉 Listas em Python


Tupla em Python: segura e imutável

Uma tupla parece uma lista, mas tem uma diferença importante: não pode ser alterada depois de criada. Isso ajuda a evitar mudanças acidentais.

Características das tuplas

  • Mantêm a ordem dos itens
  • Permitem valores repetidos
  • São mais rápidas que listas
  • Usadas quando você não quer que os dados mudem

Exemplo simples de tupla

Python

cores = ("azul", "verde", "amarelo")
print(cores)
Pronto para executar

Se tentar mudar um item:

Python

cores = ("azul", "verde", "amarelo")
cores[1] = "vermelho"
Pronto para executar

Erro:

TypeError: 'tuple' object does not support item assignment

Quando usar tupla

  • Dados fixos, como dias da semana ou meses do ano
  • Configurações que não podem ser alteradas
  • Coordenadas geográficas

Exemplo do mundo real:

Python

localizacao = (40.7128, -74.0060)  # latitude e longitude
print(localizacao)
Pronto para executar

Veja também o artigo relacionado no blog:
👉 Tuplas em Python


Conjunto (set) em Python: para evitar valores repetidos

Um set é uma coleção inspirada na matemática. Ele não permite valores repetidos e não mantém ordem.

Características dos conjuntos

  • Não garantem a ordem dos itens
  • Não permitem valores repetidos
  • Muito usados para eliminar duplicatas

Exemplo simples

Python

numeros = {1, 2, 3, 3, 3}
print(numeros)
Pronto para executar

Quando usar conjuntos

  • Remover itens duplicados
  • Fazer operações matemáticas como união e interseção
  • Analisar grupos de dados sem repetição

Exemplo prático:

Python

alunos_turma1 = {"Ana", "Pedro", "Carlos"}
alunos_turma2 = {"Carlos", "Mariana"}

print(alunos_turma1.intersection(alunos_turma2))
Pronto para executar

Para aprender mais sobre conjuntos:
👉 Conjuntos em Python


Dicionário em Python: estrutura poderosa para guardar pares chave e valor

O dicionário guarda dados no formato chave: valor. Ele permite acessar informações usando a chave, o que torna tudo mais rápido e organizado.

Características do dicionário

  • Armazena informações no formato par chave-valor
  • A chave não pode se repetir
  • Os valores podem mudar quando quiser
  • Mantém a ordem de inserção

Exemplo simples

Python

pessoa = {
    "nome": "João",
    "idade": 25,
    "cidade": "São Paulo"
}

print(pessoa["nome"])
Pronto para executar

Exemplos reais de uso

  • Representar usuários de um sistema
  • Cadastro de produtos
  • Configurações de aplicativos

Exemplo:

Python

produto = {"id": 101, "nome": "Mouse", "preco": 79.90}
print(produto)
Pronto para executar

Quer aprender mais sobre dicionários?
👉 Dicionários em Python


Quando escolher cada estrutura?

Escolher a estrutura certa deixa seu código mais claro e rápido.

Use quandoMelhor opção
Dados que podem mudarLista
Proteger dados que não devem mudarTupla
Garantir que não tenha itens repetidosConjunto
Guardar informações detalhadas com nomesDicionário

Exemplo completo combinando todas as estruturas

Imagine um sistema simples de cadastro de alunos:

Python

alunos = [
    {"nome": "Ana", "idade": 18, "cursos": ("Python", "Banco de Dados")},
    {"nome": "Pedro", "idade": 20, "cursos": ("Java", "Python")},
    {"nome": "Carlos", "idade": 19, "cursos": ("Python", "Django")},
]

cursos_unicos = set()

for aluno in alunos:
    for curso in aluno["cursos"]:
        cursos_unicos.add(curso)

print("Cursos disponíveis:", cursos_unicos)
Pronto para executar

Neste exemplo:

  • usamos lista para guardar todos os alunos
  • usamos dicionário para guardar os dados de cada aluno
  • usamos tupla para cursos fixos
  • usamos set para remover cursos duplicados

Conclusão

Agora você sabe a diferença entre lista, tupla, conjunto e dicionário no Python. Cada estrutura serve para situações específicas e escolher bem torna seu código mais simples e eficiente.

Continue estudando temas relacionados nos artigos:


Perguntas Frequentes (FAQ)

1. O que é uma lista em Python?
É uma coleção de itens que pode ser alterada e aceita repetição.

2. Quando usar tupla?
Quando os dados forem fixos e não puderem ser modificados.

3. Para que serve um conjunto em Python?
Para eliminar itens repetidos e comparar coleções.

4. O que é um dicionário?
Uma estrutura que guarda pares chave-valor, como um cadastro.

5. Qual a diferença principal entre lista e tupla?
A lista pode ser alterada. A tupla não.

6. Conjunto mantém a ordem dos itens?
Não. Ele organiza automaticamente sem ordem definida.

7. Dicionário permite valores repetidos?
Sim. Mas as chaves não podem se repetir.

8. Qual estrutura é melhor para dados de uma pessoa?
Dicionário, porque organiza informação com chaves.

9. Posso misturar tipos diferentes dentro de uma lista?
Sim. Uma lista pode ter números, textos, etc.

10. Conjunto é mais rápido que lista?
Sim, na busca por elementos normalmente é mais rápido.

11. Tupla ocupa menos memória?
Sim, geralmente ocupa menos espaço que uma lista.

12. Qual usar para remover duplicados?
Use um conjunto (set).

Compartilhe:

Facebook
WhatsApp
Twitter
LinkedIn

Conteúdo do artigo

    Artigos relacionados

    Fundamentos
    Foto do Leandro Hirt

    Como rodar seu script Python no Docker em 5 minutos

    A tecnologia de containers revolucionou a forma como desenvolvemos e distribuímos software. Se você já passou pela frustração de um

    Ler mais

    Tempo de leitura: 9 minutos
    04/03/2026
    Fundamentos
    Foto do Leandro Hirt

    Como criar um gerenciador de senhas simples com Python

    A segurança digital tornou-se uma prioridade no cotidiano de qualquer pessoa que navega na internet. Com dezenas de contas e

    Ler mais

    Tempo de leitura: 12 minutos
    01/03/2026
    Fundamentos
    Foto do Leandro Hirt

    Como criar um bot de WhatsApp com Python em minutos

    Você já pensou em como seria prático ter um atendente virtual respondendo seus clientes ou amigos 24 horas por dia?

    Ler mais

    Tempo de leitura: 10 minutos
    01/03/2026
    FundamentosBibliotecas
    Foto do Leandro Hirt

    Descubra como gerar números aleatórios seguros com secrets

    Você já parou para pensar como o seu computador decide qual será o próximo número em um sorteio? No mundo

    Ler mais

    Tempo de leitura: 9 minutos
    27/02/2026
    Fundamentos
    Foto do Leandro Hirt

    Como automatizar postagens no Twitter com Python

    Imagine a possibilidade de manter o seu perfil no Twitter (X) sempre ativo, compartilhando conteúdos relevantes, notícias de última hora

    Ler mais

    Tempo de leitura: 12 minutos
    26/02/2026
    Fundamentos
    Foto do Leandro Hirt

    Como criar um pacote pip instalável em Python passo a passo

    Criar seu próprio pacote Python e disponibilizá-lo para a comunidade através do gerenciador de pacotes pip é um dos marcos

    Ler mais

    Tempo de leitura: 8 minutos
    26/02/2026