Módulo 6 - Dicionários: buscar pela etiqueta
Dicionário ou lista: quando cada um vence
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 08/07/2026
O que você vai aprender
- Escolher entre lista e dicionário conforme o tipo de acesso.
- Entender por que a busca por chave no dicionário é quase instantânea.
- Perceber o custo de procurar um item varrendo uma lista grande.
- Reconhecer quando combinar as duas estruturas.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Dicionário ou lista: quando cada um vence.
Os objetivos desta aula. Escolher entre lista e dicionário conforme o tipo de acesso. Entender por que a busca por chave no dicionário é quase instantânea. Perceber o custo de procurar um item varrendo uma lista grande. Reconhecer quando combinar as duas estruturas.
Veja o essencial, parte por parte.
Cada estrutura no seu lugar. Lista: melhor quando a ordem importa e você percorre os itens em sequência.
Por que a busca do dicionário é tão rápida. Aqui está a vantagem que faz o dicionário valer ouro.
Combinar as duas estruturas. Na prática, listas e dicionários costumam trabalhar juntos, não separados.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
Cada estrutura no seu lugar
As duas estruturas parecem concorrentes, mas na verdade são especialistas em problemas diferentes. A lista é uma fila ordenada: ela guarda a sequência, o que é insubstituível quando a ordem tem significado, os colocados de uma corrida, os passos de uma receita, o histórico de mensagens. Se você precisa do terceiro item, ou vai processar todos em ordem, a lista é a casa certa. O dicionário é um balcão de atendimento por etiqueta: ele não liga para ordem, liga para associação. Se o seu acesso típico é me dê o valor da chave X, o dicionário entrega isso na hora. A pergunta que decide é: eu acesso por posição e ordem, ou por uma etiqueta identificadora?
A lista brilha quando...
- A ordem dos itens importa (ranking, fila, histórico).
- Você percorre todos em sequência.
- Você acessa por posição (o primeiro, o último).
O dicionário brilha quando...
- Você busca por uma etiqueta única (nome, código, id).
- Você quer o valor na hora, sem varrer.
- Cada item tem um identificador natural.
Por que a busca do dicionário é tão rápida
Aqui está a vantagem que faz o dicionário valer ouro. Procurar um contato numa lista de nomes, quando você não sabe a posição, obriga o programa a comparar um por um até achar, e no pior caso a varrer a lista inteira. Com dez nomes, tudo bem; com dez milhões, é um sofrimento a cada busca. O dicionário resolve isso com uma mágica de bastidor: ele guarda os pares de um jeito que permite pular direto ao valor da chave, sem examinar os outros. Por isso a busca por chave é quase instantânea, e o mais impressionante, praticamente não fica mais lenta conforme o dicionário cresce. Buscar num dicionário de dez itens ou de dez milhões custa quase o mesmo. Essa diferença de comportamento com o tamanho é tão central que ganha um módulo inteiro mais adiante, o de eficiência.
🎮 Jogo da aula
Lista ou dicionário?
Para cada necessidade, escolha a estrutura que serve melhor: a lista ordenada ou o dicionário de etiquetas.
Combinar as duas estruturas
Na prática, listas e dicionários costumam trabalhar juntos, não separados. Um sistema de loja pode ter uma lista de pedidos em ordem de chegada (a fila) e um dicionário de produtos para consultar preço pelo código (a busca). Um jogo pode ter uma lista de jogadores na ordem dos turnos e um dicionário de pontuações por apelido. Até a combinação de estruturas dentro de estruturas é comum: uma lista de dicionários representa uma tabela em que cada linha é um registro com campos nomeados, um formato onipresente em dados reais. Saber escolher e combinar as estruturas é uma das habilidades que mais distinguem quem programa com desenvoltura, e você já tem as duas peças principais na mão.
Teste rápido
Você precisa consultar o preço de produtos milhares de vezes por segundo, sempre pelo código do produto. Por que um dicionário vence uma lista aqui?
Perguntas frequentes
- Quando devo preferir a lista ao dicionário?
- Quando a ordem dos itens importa ou você processa todos em sequência: rankings, filas, históricos, listas de passos. A lista guarda a ordem, coisa que o dicionário não faz seu foco. Se o seu acesso típico é por posição ou é percorrer tudo, a lista é a escolha natural.
- Por que a busca no dicionário quase não fica mais lenta com o tamanho?
- Porque o dicionário guarda os pares de um jeito que permite ir direto ao valor da chave, sem examinar os outros. Diferente da lista, que precisa comparar item a item quando não sabe a posição, o dicionário calcula onde a chave está. Por isso buscar em dez ou em dez milhões custa quase o mesmo.
- Então o dicionário é sempre melhor que a lista?
- Não. Ele é melhor para busca por etiqueta, mas não guarda ordem naturalmente e não serve para acesso por posição. Cada estrutura vence no seu terreno. Usar dicionário onde a ordem importa, ou lista onde a busca por chave é frequente, é escolher a ferramenta errada.
- Dá para ter uma lista dentro de um dicionário?
- Dá, e é comum. O valor de uma chave pode ser uma lista: um dicionário de alunos em que cada nome (chave) aponta para a lista de suas notas (valor). Também dá o contrário, uma lista de dicionários, muito usada para representar tabelas de registros. Combinar estruturas é o normal em dados reais.
- Como represento uma tabela de dados com essas estruturas?
- Um jeito clássico é uma lista de dicionários: cada item da lista é um registro (uma linha), e cada registro é um dicionário com campos nomeados (as colunas). Assim você tem a ordem das linhas pela lista e o acesso por nome de campo pelo dicionário, o melhor dos dois mundos.
- Escolher a estrutura errada quebra o programa?
- Geralmente não quebra, mas deixa o programa lento e o código desajeitado. Guardar uma agenda numa lista funciona, mas cada busca varre tudo; usar dicionário onde a ordem importa força gambiarras para reconstruir a sequência. Escolher certo é sobre desempenho e clareza, não sobre funcionar ou não.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.