Folha de dicas de compreensão do Python
Escreva listas, dicionários, conjuntos e compreensões de gerador concisas e legíveis em Python.
Listar e definir compreensões
Criação de sequências e conjuntos inline usando loops de açúcar sintáticos.
| Método/Função | Sintaxe | Descrição |
|---|---|---|
| List Comprehension | [x * 2 for x in my_list] | Constrói uma nova lista aplicando expressões em elementos de um iterável. |
| Conditional List | [x for x in my_list if x > 0] | Aplica um predicado de filtro, mantendo apenas os elementos que satisfazem a condição. |
| Nested Loops | [x + y for x in list1 for y in list2] | Achata operações aninhadas. Executa loops internos para cada iteração do loop externo. |
| Set Comprehension | {x for x in my_list} | Gera um conjunto, aplicando a desduplicação automaticamente. |
Compreensões de dicionário e gerador
Gerando mapeamentos e fluxos de avaliação lenta em linha.
| Método/Função | Sintaxe | Descrição |
|---|---|---|
| Dict Comprehension | {k: v for k, v in pairs} | Constrói um dicionário embutido. |
| Conditional Dict | {k: v for k, v in pairs if k is not None} | Constrói um dicionário ignorando valores indesejados. |
| Generator Expression | (x ** 2 for x in range(10)) | Retorna um objeto iterador gerador lento. Avalia os itens um de cada vez para conservar a memória. |
Script de demonstração interativo
# List Comprehension
[x * 2 for x in my_list]
# Conditional List
[x for x in my_list if x > 0]
# Nested Loops
[x + y for x in list1 for y in list2]
# Set Comprehension
{x for x in my_list}
# Dict Comprehension
{k: v for k, v in pairs}
# Conditional Dict
{k: v for k, v in pairs if k is not None}
# Generator Expression
(x ** 2 for x in range(10))Perguntas frequentes
Quando devo evitar o uso de compreensões de lista?
Evite compreensões de lista se elas forem excessivamente complexas ou tiverem vários loops aninhados, pois isso reduz a legibilidade do código.
Qual é a diferença entre uma compreensão de lista e uma expressão geradora?
As compreensões de lista são avaliadas imediatamente e constroem a lista na memória, enquanto as expressões geradoras produzem itens preguiçosamente sob demanda, economizando memória.
Tópicos Relacionados
Domine instruções condicionais, loops e estruturas de controle de loop em Python. Aprenda if-else, for, while, break e continue.
Folha de referências de funções integradas do PythonGuia de referência para funções integradas do Python. Aprenda como usar print, len, range, enumerate, zip, map, filter e muito mais.
Folha de referências de coleções e estruturas de dados PythonGuia completo para módulo de coleções Python e estruturas de dados nativas. Aprenda listas, ditados, conjuntos, tuplas, deques e tuplas nomeadas.
Recursos Python recomendados
Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.
Compreensões Python
Escreva um Python mais limpo e rápido. Lista mestre, dicionário e compreensão de conjuntos com exemplos práticos, condições de filtragem e loops aninhados.
Como classificar uma lista em Python
Aprenda como classificar uma lista em Python usando o método sort() e a função sorted(). Descubra exemplos de classificação de chaves personalizadas e ordem reversa.
Python vs JavaScript: qual linguagem de programação é a melhor?
Uma comparação abrangente entre Python e JavaScript. Explore diferenças de sintaxe, desempenho, casos de uso (backend versus frontend) e exemplos de codificação.