19 pessoas já começaram a estudar hoje
1919pessoasjá começaram a estudar hoje
já começaram a estudar hoje

Enquanto você avalia,

1919pessoas já começaram a estudar hoje

Dê o próximo passo e inicie sua carreira

Dê o próximo passo e inicie sua carreira agora mesmo

Comece agora
  • Home

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    CURSOS

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    CURSOS

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    CURSOS

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    CURSOS

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    CURSOS

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    CURSOS

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    CURSOS

    Ver mais cursos de Inovação e Gestão
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    CURSOS

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    CARREIRAS

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    CURSOS

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    CURSOS

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    CURSOS

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA
  • Artigos
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Carreiras

    Ver todas
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA
    Entrar Ver Planos
  • Área de Interesse

    Entrar Ver Planos
  • Aulas ao Vivo - Skills & Go

    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA
    Entrar Ver Planos
  • Senioridade

    Entrar Ver Planos
  • Eventos Alura

    • IA Conference
    • Alura Signals
    Entrar Ver Planos
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Artigos
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • Plano Pro 24
    • Plano Plus 24
    • Plano Ultra Lab 24
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Back-end
    3. List comprehension Python: como simplificar seu código

    List comprehension Python: como simplificar seu código

    9 min9 minutos de leitura

    9 min9 minutos de leitura

    Publicado: 28/01/2026

    Última atualização: 28/01/2026

    1. O que é List Comprehension?
    2. O que muda quando usamos List Comprehension?
    3. Sintaxe básica da List Comprehension
    4. Exemplos práticos de List Comprehension
    5. Quando usar (e quando evitar) List Comprehension
    6. Próximos passos para evoluir em Python
    7. FAQ | Perguntas frequentes sobre List Comprehension em Python

    Sabe aquele momento em que você precisa percorrer uma lista, aplicar uma regra e salvar o resultado em uma nova coleção?

    No Python, o que normalmente exigiria um loop de várias linhas e um .append() pode ser resolvido de forma muito mais elegante com a List Comprehension.

    Mais do que "escrever menos", essa técnica permite transformar dados rapidamente, mantendo a lógica concentrada em uma única expressão.

    É como trocar um caminho cheio de curvas por uma linha reta bem sinalizada: o código não fica apenas menor, ele fica mais legível.

    Neste artigo, vamos mergulhar no funcionamento da List Comprehension: entender como criar e usá-la com exemplos práticos, quando ela é a melhor escolha e quais cuidados tomar para que a simplicidade não acabe excluindo a clareza do seu projeto.

    O que é List Comprehension?

    List Comprehension é uma forma concisa de criar listas em Python a partir de outras listas, strings, dicionários ou qualquer estrutura iterável. Em vez de escrever várias linhas usando loops, você expressa a transformação dos dados em uma única linha.

    Na prática, funciona como uma fábrica de listas: você define de onde vêm os dados, o que será feito com cada item e, se quiser, quais itens entram no resultado. Tudo isso dentro de colchetes.

    Para entender a diferença, veja como criaríamos uma lista de números dobrados da forma tradicional:

    numeros = [1, 2, 3, 4, 5]
    dobrados = []
    for n in numeros:
        dobrados.append(n * 2)

    Com List Comprehension, eliminamos o ruído visual e focamos no que importa:

    numeros = [1, 2, 3, 4, 5]
    dobrados = [n * 2 for n in numeros]

    O resultado é o mesmo, mas o código fica mais direto e fácil de entender quando a lógica é simples.

    List Comprehension não substitui todo tipo de for, mas ela é muito útil quando a intenção é transformar, filtrar ou criar listas rapidamente. Quando a lógica começa a ficar complexa demais, o loop tradicional ainda é uma ótima escolha.

    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    O que muda quando usamos List Comprehension?

    Quando você usa List Comprehension, o foco muda do como fazer para o que está sendo feito. Em vez de declarar uma lista vazia e ir preenchendo aos poucos, você descreve diretamente a transformação dos dados.

    Usando o mesmo exemplo anterior:

    numeros = [1, 2, 3, 4, 5]
    dobrados = [n * 2 for n in numeros]

    A principal mudança está na clareza da intenção. Em uma única linha, fica claro de onde vêm os dados, qual transformação acontece e qual é o resultado esperado.

    Sintaxe básica da List Comprehension

    A sintaxe da List Comprehension segue um padrão bem fácil de memorizar. A ideia é sempre a mesma: definir o que será gerado, percorrer uma coleção e, se necessário, aplicar uma condição. 

    O formato básico é esse:

    [ expressão for item in iterável ]
    • Expressão: é o que será gerado e guardado na nova lista (o valor transformado).
    • Item: é a variável que representa cada elemento individual da lista original.
    • Iterável: é a fonte dos dados (uma lista, string, etc.).

    Se você não quiser processar todos os itens, pode adicionar uma condição if ao final. A estrutura passa a ser:

    [ expressão for item in iterável if condição]

    Diferente do for tradicional, onde primeiro você abre o loop e depois decide o que fazer, aqui a expressão que gera o valor final vem primeiro. Essa sequência ajuda a ler o código como uma frase: "Eu quero [isso] para cada [item] em [algum lugar] se [esta regra for verdade]".

    Essa lógica de leitura fluida é o que evita confusões conforme você começa a criar listas mais elaboradas.

    Exemplos práticos de List Comprehension

    List Comprehension aparece o tempo todo em todo lugar, desde tarefas mais simples até fluxos mais completos de dados. Vamos ver alguns exemplos.

    Criando listas a partir de outras listas

    Imagine que você recebe uma lista de preços e precisa aplicar um desconto de 10% em cada item antes de mostrar no sistema. Podemos fazer da seguinte forma:

    precos = [100, 250, 400]
    precos_com_desconto = [preco * 0.9 for preco in precos]
    # Resultado: [90.0, 225.0, 360.0]

    Nesse exemplo, você:

    • percorre a lista precos
    • aplica o desconto em cada valor
    • gera uma nova lista já pronta para uso

    Usando condição para filtrar dados

    Agora pense em um cenário de validação. Você tem uma lista de idades e precisa separar apenas quem pode acessar determinado conteúdo.

    idades = [12, 16, 18, 21, 14]
    permitidas = [idade for idade in idades if idade >= 18]
    # Resultado: [18, 21]

    Nesse caso:

    • o for percorre todas as idades
    • a condição if idade >= 18 filtra os valores, e
    • apenas os números que passam pela regra entram na lista final

    Padronizando strings

    Muitas vezes recebemos dados “sujos” de usuários. A List Comprehension é perfeita para normalizar essas strings:

    nomes = [" Ana ", "joão", " MARIA "]
    nomes_formatados = [nome.strip().title() for nome in nomes]
    # Resultado: ["Ana", "João", "Maria"]

    Extraindo dados de estruturas complexas

    Em aplicações reais, o cenário mais comum é lidar com JSONs (listas de dicionários) retornados por APIs ou banco de dados. Com a List Comprehension podemos “limpar” esses dados e extrair somente o que é necessário.

    usuarios = [
        {"nome": "Ana", "ativo": True},
        {"nome": "João", "ativo": False},
        {"nome": "Maria", "ativo": True}
    ]
    usuarios_ativos = [usuario["nome"] for usuario in usuarios if usuario["ativo"]]
    print(usuarios_ativos) 
    # Resultado: ['Ana', 'Maria']

    A List Comprehension é muito versátil, e em todos os casos, o objetivo é o mesmo: unificar a iteração (for) e a ação (cálculo ou filtro, por exemplo) em uma estrutura única, economizando linhas de código e tornando a intenção da pessoa desenvolvedora muito mais clara.

    No entanto, com grandes poderes vem a necessidade de cautela. Existe um limite onde a brevidade começa a atrapalhar a clareza do código.

    Quando usar (e quando evitar) List Comprehension

    A grande vantagem da List Comprehension é a concisão, mas o seu limite é sempre a legibilidade. Nem tudo que pode ser escrito em uma linha deve ser escrito em uma linha.

    Quando usar

    A List Comprehension se destaca quando a intenção do código é direta. Prefira usá-la quando:

    • A lógica é imediata: o que está sendo feito pode ser lido e entendido em segundos.
    • Fluxo Simples: você tem apenas um for principal e, no máximo, um if de filtragem.
    • Transformações Puras: o objetivo é apenas gerar uma nova lista a partir de uma existente (ex: converter moedas, extrair nomes, formatar textos).
    • Fluidez: a leitura da linha de código parece uma frase natural: "pegue o nome para cada usuário se ele estiver ativo".

    Quando evitar

    Se você precisar parar para "decifrar" o que a linha faz, ela provavelmente deveria ser um loop tradicional. Evite quando:

    • Lógica com muitos else: o uso de if/else dentro da compreensão costuma ficar confuso rapidamente.
    • Loops Aninhados: usar dois ou mais for na mesma linha (ex: percorrer uma matriz) dificilmente é intuitivo para quem lê.
    • Precisa de um comentário? se você sente que precisa escrever um comentário acima da List Comprehension para explicar o que ela faz, é sinal de que ela está complexa demais.

    O código é lido muito mais vezes do que é escrito. Entre economizar três linhas de código e economizar dez segundos de interpretação de um colega, escolha sempre poupar o esforço de quem lê.

    # Evite
    resultado = [x if x > 0 else 0 for x in numeros if x % 2 == 0]

    Um loop for tradicional é "honesto": ele mostra passo a passo o que está acontecendo. Já uma List Comprehension complexa pode esconder bugs em meio a uma sintaxe compacta.

    A ideia não é escolher um estilo para usar sempre, mas sim saber qual ferramenta melhor comunica a sua intenção no momento.

    Próximos passos para evoluir em Python

    Dominar a List Comprehension é um marco na sua evolução com Python. Mais do que "escrever menos", esse recurso ensina você a pensar de forma mais declarativa, focando no resultado que deseja obter dos seus dados.

    A partir daqui, o desafio é aplicar essa mentalidade em cenários reais de desenvolvimento. Para quem deseja se aprofundar e entender como Python sustenta aplicações completas, desde a manipulação eficiente de dados até a construção de APIs, vale explorar a carreira de Desenvolvimento Backend com Python

    Espero que este guia tenha ajudado a tornar seu código mais simples e expressivo. 

    Bons estudos e até a próxima!

    FAQ | Perguntas frequentes sobre List Comprehension em Python

    Você ainda ficou com algumas dúvidas depois do conteúdo? Calma, confira abaixo as perguntas mais frequentes!

    1. A List Comprehension é mais rápida do que um for tradicional?

    Na maioria dos casos, sim. No entanto, performance não deve ser o principal critério. Se a List Comprehension comprometer a legibilidade, o for tradicional é a melhor escolha.

    2. Posso usar else dentro de uma List Comprehension?

    Sim, mas é preciso cuidado. O else faz parte da expressão, não da condição de filtragem. Por exemplo:

    numeros = [1, -2, 3, -4]
    resultado = [n if n > 0 else 0 for n in numeros]
    # Resultado: [1, 0, 3, 0]

    Perceba que:

    • if/else vem antes do for
    • Esse padrão não filtra, mas transforma os valores 

    3. Qual a diferença entre filtrar e usar if/else?

    • Filtrar decide quais itens entram na lista:

    [n for n in numeros if n > 0]

    • if/else decide como cada item será transformado:

    [n if n > 0 else 0 for n in numeros]

    Entender essa diferença evita muitos erros comuns.

    4. Posso usar funções dentro da List Comprehension?

    Sim, sem problema algum. É muito comum usar funções para deixar o código mais legível:

    def aplicar_desconto(preco):
        return preco * 0.9
    precos_com_desconto = [aplicar_desconto(p) for p in precos]

    5. List Comprehension substitui map() e filter()?

    Na prática, sim, e com melhor legibilidade em grande parte dos casos.

    Compare:

    list(map(lambda x: x * 2, numeros))

    com:

    [x * 2 for x in numeros]

    A List Comprehension costuma ser mais clara, especialmente para quem está lendo o código depois.

    6. Quando devo evitar usar a List Comprehension?

    Evite quando:

    • a lógica depende de vários passos
    • há múltiplas decisões encadeadas
    • você precisa tratar exceções
    • o código perde clareza ao ficar em uma única linha

    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    Avalie este artigo

    Foto de Mike de Sousa

    Autor(a)

    Mike de Sousa

    Olá, me chamo Mike de Sousa. Atuo como Suporte Educacional aqui na Alura, onde tenho a oportunidade de aprender ainda mais enquanto ajudo outras pessoas em sua jornada. Tenho um foco especial em Front-end, explorando React e TypeScript, mas estou sempre em busca de novos conhecimentos e desafios. Fora da programação, gosto de jogar RPG de mesa, explorar novas ideias e deixar a criatividade fluir.

    Explore por tópico

    • Mobile
    • Back-end
    • Front-end
    • DevOps
    • UX & Design
    • Dados
    • Gestão & Negócios
    • Inteligência Artificial
    • Cibersegurança
    • Cloud

    Leia também

    • Alura
      04/10/2006

      Melhore a performance de site com HashSet em vez de ArrayList

      Ler mais
    • Alura
      16/12/2009

      Hipermídia e contratos dinâmicos: menor acoplamento

      Ler mais
    • 17/01/2022

      O que são estruturas de dados? Uma introdução a estruturas de dados e algoritmos na programação 

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersões
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersões
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura