0Pricing
Python Academy · Aula

Compreensões de conjuntos e dicionários

Aplique padrões de compreensão a conjuntos e dicionários.

Compreensões de conjuntos e dicionários é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 2 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

A mesma sintaxe de compreensão funciona para conjuntos e dicionários, produzindo elementos únicos e mapeamentos de chave e valor, respectivamente.

Sintaxe de compreensão de conjunto

{expression for item in iterable} usa chaves sem dois-pontos. O resultado é um conjunto — sem ordem e com elementos únicos.
unique_lens = {len(w) for w in ['apple','banana','fig']}
print(unique_lens)

Remoção de duplicatas com compreensão de conjunto

Quaisquer expressões duplicadas são descartadas silenciosamente. {x%3 for x in range(9)} produz {0,1,2}.
mods = {x % 3 for x in range(9)}
print(mods)

Compreensão de conjunto com condição

{x for x in range(20) if x%2==0 and x%3==0} produz os números divisíveis por 2 e por 3.
print({x for x in range(20) if x%2==0 and x%3==0})

Sintaxe de compreensão de dicionário

{key_expr: val_expr for item in iterable} usa key:value antes de for. Cria um dicionário.
squares = {x: x**2 for x in range(5)}
print(squares)

Compreensão de dicionário com condição

{k: v for k, v in d.items() if v > 0} filtra um dicionário, mantendo apenas os valores positivos.
d = {'a': 1, 'b': -2, 'c': 3}
pos = {k: v for k, v in d.items() if v > 0}
print(pos)

Invertendo um dicionário

{v: k for k, v in d.items()} troca as chaves pelos valores. É necessário que todos os valores sejam únicos e possam ser usados como chaves de hash.
d = {'a': 1, 'b': 2, 'c': 3}
print({v: k for k, v in d.items()})

Agrupando com compreensão de dicionário

{letter: [w for w in words if w[0]==letter] for letter in 'abc'} agrupa as palavras pela primeira letra.
words = ['apple','ant','banana','cherry','cat']
grouped = {l: [w for w in words if w.startswith(l)] for l in 'abc'}
print(grouped)

Combinando duas listas em um dicionário

{k: v for k, v in zip(keys, vals)} é mais claro do que dict(zip(keys, vals)) quando você precisa transformar os dados.
keys = ['x', 'y', 'z']
vals = [1, 4, 9]
print({k: v**0.5 for k, v in zip(keys, vals)})

Compreensão de dicionário aninhada

{i: {j: i*j for j in range(3)} for i in range(3)} cria uma tabuada como dicionários aninhados.
table = {i: {j: i*j for j in range(3)} for i in range(3)}
print(table)

Quando usar cada uma

Use a compreensão de conjunto quando precisar de valores únicos. Use a de dicionário quando precisar de um mapeamento de chave e valor. Use a de lista quando a ordem for importante.
words = ['hello', 'world', 'hello']
unique = {w for w in words}
lengths = {w: len(w) for w in unique}
print(lengths)

Verificação rápida

Qual é a principal diferença de sintaxe entre uma compreensão de conjunto e uma compreensão de dicionário?

Recapitulação

Compreensão de conjunto: {expr for x in it}. Compreensão de dicionário: {k: v for x in it}. Ambas aceitam filtragem com if. O dicionário exige chaves únicas que possam ser usadas como chaves de hash.

Continue

Excelente! Continue para a próxima lição para aprofundar seus conhecimentos.

Perguntas Frequentes

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

Sim — o texto completo de “Compreensões de conjuntos e 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 conjuntos e dicionários”?

Aplique padrões de compreensão a conjuntos e dicionários. 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 2 de 4.

Quanto tempo leva a aula “Compreensões de conjuntos e 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. Compreensões de listas
  2. Compreensões de conjuntos e dicionários
  3. Expressões geradoras
  4. A palavra-chave yield
← Voltar para Python Academy