0Pricing
Python Academy · Aula

Compreensões de listas

Crie listas de forma concisa usando a sintaxe de compreensão com condições.

Compreensões de listas é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 1 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 lista criam novas listas a partir de iteráveis em uma única expressão legível, substituindo padrões comuns de laços for.

Sintaxe básica

[expression for item in iterable] é a forma básica. [x*2 for x in range(5)] produz [0,2,4,6,8].
doubled = [x*2 for x in range(5)]
print(doubled)

Com uma condição

[x for x in range(10) if x%2==0] filtra os números pares. A cláusula if vem depois da cláusula for.
evens = [x for x in range(10) if x % 2 == 0]
print(evens)

Transformando strings

[word.upper() for word in words] aplica upper() a cada string. Funciona com qualquer iterável.
words = ['hello', 'world']
print([w.upper() for w in words])

Compreensão aninhada

[x for row in matrix for x in row] é uma compreensão aninhada plana (lida da esquerda para a direita, com o laço externo primeiro).
matrix = [[1,2,3],[4,5,6]]
flat = [x for row in matrix for x in row]
print(flat)

if/else na expressão

[x if x>0 else 0 for x in lst] usa o operador ternário na parte da expressão (antes de for), e não depois.
lst = [-1, 2, -3, 4]
clipped = [x if x > 0 else 0 for x in lst]
print(clipped)

Compreensão versus map/filter

[f(x) for x in it if cond(x)] equivale a list(map(f, filter(cond, it))), mas é mais legível.
nums = range(10)
result = [x**2 for x in nums if x%2==0]
print(result)

Achatar com uma compreensão

Para 2 ou mais níveis de aninhamento, uma compreensão pode achatar a estrutura: [[1,2],[3,4]] → [1,2,3,4].
nested = [[1,2],[3,4],[5]]
flat = [x for sub in nested for x in sub]
print(flat)

Compreensão com enumerate()

[(i, x) for i, x in enumerate(lst)] produz uma lista de pares índice-valor.
colors = ['red', 'green', 'blue']
indexed = [(i, c) for i, c in enumerate(colors)]
print(indexed)

Compreensão com zip()

[a+b for a, b in zip(lst1, lst2)] soma os elementos correspondentes de duas listas.
a = [1, 2, 3]
b = [10, 20, 30]
print([x+y for x,y in zip(a,b)])

Quando NÃO usar compreensões

Se a lógica for complexa ou precisar de efeitos colaterais, use um laço for normal. As compreensões devem permanecer em uma única linha.
# Too complex for comprehension:
result = []
for x in range(10):
    if x > 5:
        result.append(x * x)
print(result)

Verificação rápida

Em uma compreensão de lista com uma condição e um operador ternário, onde fica o operador ternário?

Recapitulação

Compreensões de lista: [expr for x in it if cond]. Operador ternário na expressão: [x if cond else y for x in it]. Use-as para transformações simples e legíveis.

Continue

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

Perguntas Frequentes

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

Sim — o texto completo de “Compreensões de listas” é 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 listas”?

Crie listas de forma concisa usando a sintaxe de compreensão com condições. 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 1 de 4.

Quanto tempo leva a aula “Compreensões de listas”?

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