0Pricing
Competitive Programming Academy · Aula

Crie Arrays Rapidamente com Compreensões

Leia e estruture a entrada em uma linha.

Crie Arrays Rapidamente com Compreensões é uma aula grátis de Competitive Programming 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 Competitive Programming Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Competitive Programming Academy inclui 4 aulas no total.

Criar listas em uma linha

Uma compreensão de listas cria uma lista a partir de um laço em uma única expressão. Ela é mais curta, mais rápida e o padrão das competições para transformar dados.

squares = [i * i for i in range(5)]

O formato básico

O padrão é [expr for item in iterable]. A expressão à esquerda é executada uma vez para cada elemento produzido pelo laço.

doubles = [x * 2 for x in nums]

Ler uma linha de inteiros

A linha mais comum em competições: divida a entrada e converta cada valor. Essa etapa legível converte texto em inteiros.

nums = [int(x) for x in input().split()]

map() faz o mesmo trabalho

map(int, ...) aplica int a cada valor. Envolva-o em list(...) para materializar os valores e reutilizá-los.

nums = list(map(int, input().split()))

Filtrar durante a construção

Adicione uma condição if no final para manter apenas os itens aprovados. Aqui, somente os números pares sobrevivem à construção.

evens = [x for x in nums if x % 2 == 0]

Transformar e filtrar juntos

É possível transformar e filtrar ao mesmo tempo: altere os itens mantidos à esquerda enquanto os seleciona com o if final.

out = [x * x for x in nums if x > 0]

Criar um vetor preenchido com zeros

Precisa de um vetor com tamanho fixo? [0] * n cria n zeros instantaneamente, sendo perfeito para contadores e tabelas de DP.

dp = [0] * n

Cuidado com listas internas repetidas

Use uma compreensão para uma grade 2D. [[0] * c for _ in range(r)] cria linhas independentes, enquanto [[0] * c] * r compartilha uma única linha.

grid = [[0] * c for _ in range(r)]

Indexar com enumerate

Quando também precisar das posições, percorra os elementos com enumerate para obter o índice e o valor juntos em cada etapa.

pairs = [(i, v) for i, v in enumerate(nums)]

Ler uma matriz inteira

Combine a leitura e o laço para obter de uma vez r linhas de números, construindo a grade completa em duas linhas curtas.

grid = [list(map(int, input().split()))
        for _ in range(r)]

Versões para conjuntos e dicionários

A mesma sintaxe cria conjuntos e dicionários: use chaves. {x for x in nums} remove duplicatas, e pares chave:valor criam um mapa.

seen = {x for x in nums}

Verificação rápida

Escolha a forma idiomática de ler uma linha de inteiros separados por espaços.

Recapitulação: construa rapidamente

Agora você consegue construir, filtrar e remodelar vetores em uma linha, além de ler matrizes completas rapidamente. As compreensões mantêm o processamento da entrada curto e livre de erros. 💡

Perguntas Frequentes

A aula “Crie Arrays Rapidamente com Compreensões” é grátis?

Sim — o texto completo de “Crie Arrays Rapidamente com Compreensões” é 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 Competitive Programming Academy, atualize para CoddyKit PRO. O curso de Competitive Programming Academy inclui 4 aulas no total.

O que vou aprender em “Crie Arrays Rapidamente com Compreensões”?

Leia e estruture a entrada em uma linha. Você pratica Competitive Programming 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 Competitive Programming Academy?

Nenhuma experiência prévia é necessária. Competitive Programming 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 “Crie Arrays Rapidamente com Compreensões”?

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 Competitive Programming Academy?

Sim. Cada aula de Competitive Programming 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. Listas, Indexação e Fatiamento para CP
  2. Crie Arrays Rapidamente com Compreensões
  3. Mínimo, Máximo, Soma e Totais Acumulados
  4. Encontre o Índice, não Apenas o Valor
← Voltar para Competitive Programming Academy