Python Academy · Aula

Compreensões de dicionários

Crie dicionários de forma concisa com a sintaxe de compreensão.

Aula 4 de 414 etapas

Compreensões de dicionários é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.

Introdução

As compreensões de dicionários oferecem uma forma concisa de construir dicionários a partir de qualquer iterável.

Compreensão básica de dicionário

{k: v for k, v in items} é a forma básica. Exemplo: {x: x**2 for x in range(5)} associa números aos seus quadrados.
squares = {x: x**2 for x in range(5)}
print(squares)

Com uma condição

Adicione if ao final para filtrar: {x: x**2 for x in range(10) if x % 2 == 0} mantém apenas os números pares.
evens = {x: x**2 for x in range(10) if x % 2 == 0}
print(evens)

Invertendo um dicionário

{v: k for k, v in d.items()} troca as chaves e os valores. Só funciona se todos os valores forem únicos e hasháveis.
d = {'a': 1, 'b': 2, 'c': 3}
inverted = {v: k for k, v in d.items()}
print(inverted)

A partir de duas listas

{k: v for k, v in zip(keys, values)} é a forma mais simples de construir um dicionário a partir de listas paralelas.
keys = ['name', 'age']
vals = ['Alice', 30]
d = {k: v for k, v in zip(keys, vals)}
print(d)

Transformando valores

Aplique uma função a todos os valores: {k: v.upper() for k, v in d.items()} converte todos os valores de texto para maiúsculas.
d = {'a': 'hello', 'b': 'world'}
result = {k: v.upper() for k, v in d.items()}
print(result)

Compreensão de dicionário aninhada

{outer_k: {inner_k: inner_v} ...} aninha compreensões. Tenha a legibilidade em mente — se for complexo, utilize um laço comum.
nested = {i: {j: i*j for j in range(3)} for i in range(3)}
print(nested)

Agrupando com uma compreensão

Agrupe itens por uma propriedade: {k: [v for v in values if condition(v, k)] for k in keys}
words = ['apple', 'art', 'banana', 'blueberry']
grouped = {ch: [w for w in words if w.startswith(ch)] for ch in 'ab'}
print(grouped)

Mesclando e sobrescrevendo

{**d1, **d2} mescla dois dicionários de uma forma semelhante a uma compreensão. Os valores de d2 prevalecem em chaves duplicadas.
d1 = {'a': 1, 'b': 2}
d2 = {'b': 99, 'c': 3}
merged = {**d1, **d2}
print(merged)

Dicionário ou defaultdict

As compreensões criam dicionários comuns. Utilize defaultdict quando precisar de inicialização automática para chaves ausentes.
from collections import defaultdict
d = defaultdict(list)
for w in ['apple', 'art', 'banana']:
    d[w[0]].append(w)
print(dict(d))

Desempenho

As compreensões de dicionários geralmente são mais rápidas do que construções equivalentes com laços for, porque o interpretador as otimiza internamente.
# Comprehension
squares = {x: x**2 for x in range(1000)}
print(len(squares))

Verificação rápida

O que {v: k for k, v in d.items()} faz?

Recapitulação

Compreensões de dicionários: {k: v for ... if ...}. Utilize-as para inverter, transformar valores, agrupar e filtrar. Combine-as com zip() para listas paralelas.

Continue

Muito bem! Passe à próxima lição para continuar desenvolvendo suas habilidades.
Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
76
Aulas
320

Perguntas Frequentes

A aula “Compreensões de dicionários” é grátis?

Sim — o texto completo de “Compreensões de dicionários” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.

O que vou aprender em “Compreensões de dicionários”?

Crie dicionários de forma concisa com a sintaxe de compreensão. Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Python Academy?

Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Compreensões de dicionários”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Python Academy?

Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos de dicionários
  2. Métodos de dicionários
  3. Conjuntos e operações com conjuntos
  4. Compreensões de dicionários
← Voltar para Python Academy