< Return to Video

CTA CAP03 2025 VA03 PYTHON LIST COMPREHENSION

  • 0:08 - 0:10
    A gente já conhece a estrutura de listas
  • 0:10 - 0:13
    e uma das tarefas mais comuns
    que a gente vai fazer, basicamente
  • 0:13 - 0:16
    no dia a dia,
    é filtrar itens através de uma lista.
  • 0:17 - 0:20
    E tem uma técnica chamada List Corporation
    que vai deixar o nosso código
  • 0:20 - 0:24
    muito mais claro e bem parecido
    com o inglês que a gente vai ver agora.
  • 0:24 - 0:25
    Aqui não vai se COD.
  • 0:25 - 0:26
    Eu já criei uma lista
  • 0:26 - 0:29
    com alguns números aleatórios
    que têm números pares e números ímpares.
  • 0:29 - 0:33
    Imagine agora que a gente precisa criar
    uma nova lista a partir dessa daqui.
  • 0:33 - 0:36
    Só que dessa vez, uma lista
    que contenha apenas números pares.
  • 0:37 - 0:40
    A lista vai ser essa daqui, números pares,
  • 0:40 - 0:43
    que vai começar sem nenhum item.
  • 0:43 - 0:47
    A gente sabe qual é a regra para definir
    se um número é par ou não.
  • 0:47 - 0:52
    Basta a gente dividir ele por dois e ver
    se o resultado é ou não um número inteiro.
  • 0:52 - 0:55
    Se ele for um número inteiro, significa
    que aquele número é um número par.
  • 0:56 - 0:59
    Tudo bem,
    então a gente poderia criar um loop
  • 0:59 - 1:04
    usando a estrutura de repetição for
    para percorrer item a item.
  • 1:04 - 1:06
    Fazendo essa verificação.
  • 1:06 - 1:08
    Mas existem formas mais simples
    de fazer isso
  • 1:08 - 1:12
    no Python e uma delas
    é usando o que nós chamamos de list.
  • 1:12 - 1:15
    Como compor o List componente
    um se baseia em basicamente
  • 1:15 - 1:20
    a gente escrever uma consulta com base em
    uma lista em que a gente consegue definir
  • 1:20 - 1:23
    filtros
    e até mesmo transformações no resultado.
  • 1:24 - 1:27
    Ou seja,
    a gente consegue partir de uma lista base
  • 1:27 - 1:30
    e escrever alguma condição do tipo
    a partir da lista tal.
  • 1:30 - 1:34
    Chame cada item de alguma coisa
    e então retorne
  • 1:34 - 1:38
    apenas os itens
    cuja a condição X for atendida.
  • 1:38 - 1:41
    Eu sei, ficou um pouco
    complicado de entender, apenas falando,
  • 1:41 - 1:44
    mas na hora que a gente escrever
    isso vai ficar bem claro.
  • 1:44 - 1:44
    Vamos lá.
  • 1:44 - 1:47
    Aqui no código a gente ainda está
    com aquela nossa lista vazia.
  • 1:47 - 1:50
    O que a gente vai fazer
    é começar expandindo ela aqui
  • 1:50 - 1:53
    para que a gente tem espaço
    para escrever a list, como por ex.
  • 1:54 - 1:55
    Então lembra do que eu comentei?
  • 1:55 - 1:59
    A gente vai precisar
    meio que percorrer indiretamente
  • 1:59 - 2:03
    cada um daqueles itens e para isso
    a gente vai ter que chamar esses itens
  • 2:03 - 2:04
    de alguma coisa.
  • 2:04 - 2:06
    Como eu
    está falando de uma lista de números,
  • 2:06 - 2:09
    nada mais justo do que para cada número
    a gente chame ele de número.
  • 2:10 - 2:14
    Então, por isso a gente vai escrever
    exatamente isso for número,
  • 2:14 - 2:18
    ou seja, para cada número de onde
    da lista, números.
  • 2:18 - 2:23
    Então a gente escreve em números, Ou seja,
    a gente vai estar percorrendo a lista.
  • 2:23 - 2:27
    Números e para cada item
    a gente vai chamar de número.
  • 2:27 - 2:30
    E aqui embaixo
    a gente consegue colocar a condicional
  • 2:30 - 2:33
    que vai fazer com que esse número
    entre ou não no nosso filtro.
  • 2:34 - 2:38
    No nosso caso, a gente quer justamente
    ver se o resultado da divisão por dois
  • 2:38 - 2:40
    é um número quebrado.
  • 2:40 - 2:43
    Se ele for, esse item não entra na lista.
  • 2:43 - 2:46
    E no Python a gente tem um operador
    específico para isso, que é o módulo.
  • 2:47 - 2:48
    Veja só.
  • 2:48 - 2:51
    Aqui a gente vai colocar o if número
  • 2:52 - 2:54
    módulo dois.
  • 2:54 - 2:54
    Isso vai fazer
  • 2:54 - 2:58
    basicamente com que ele pegue
    especificamente o resultado da divisão.
  • 2:59 - 3:02
    Então, nesse caso, se o resultado for
    zero, esse número é par.
  • 3:02 - 3:04
    Então é isso que a gente vai colocar aqui.
  • 3:04 - 3:08
    Então eu estou percorrendo a lista
    de números, chamando cada item de número
  • 3:08 - 3:13
    e colocando no resultado
    apenas os itens cuja a divisão por dois
  • 3:13 - 3:17
    resulte em zero como resultado de sobra.
  • 3:17 - 3:22
    E aqui no começo eu coloco o que eu quero
    retornar desse meu filtro.
  • 3:22 - 3:24
    Ou seja, a gente acabou de filtrar a lista
  • 3:24 - 3:27
    e está apenas
    com a lista de retorno em memória.
  • 3:28 - 3:31
    Caso a gente queira
    fazer alguma transformação nesse valor,
  • 3:31 - 3:34
    como por exemplo, multiplicar
    por dois ou qualquer outra coisa do tipo.
  • 3:34 - 3:35
    Esse é o momento.
  • 3:35 - 3:38
    No nosso caso,
    a gente quer apenas retornar esse item,
  • 3:38 - 3:41
    Então eu vou basicamente colocar aqui
    o número.
  • 3:41 - 3:44
    Dessa forma,
    a nossa leitura fica desse jeito aqui,
  • 3:44 - 3:46
    para o número que está dentro de números.
  • 3:46 - 3:49
    Se o número for par,
    então você retorna o número
  • 3:50 - 3:54
    e o resultado disso tudo vai ser colocado
    dentro da variável números pares.
  • 3:54 - 3:57
    E aqui no final da execução
    eu vou executar um print
  • 3:58 - 3:59
    colocando o números pares
  • 3:59 - 4:02
    para que a gente consiga checar
    se isso aqui realmente está certo
  • 4:03 - 4:03
    dentro do terminal.
  • 4:03 - 4:09
    Então eu vou executar o Python e dizer bem
    e pronto.
  • 4:09 - 4:10
    A gente consegue ver que os números pares
  • 4:10 - 4:14
    foram extraídos com sucesso daquela lista,
    caso eu quisesse.
  • 4:14 - 4:17
    Pelo contrário, os números ímpares.
  • 4:17 - 4:21
    Basta que eu negue essa condição
    e os números ímpares serão retornados.
  • 4:21 - 4:25
    Então a gente consegue ver ali, agora
    um 67, 29, 91 e também
  • 4:25 - 4:28
    a gente consegue fazer a manipulação
    que eu comentei anteriormente.
  • 4:29 - 4:33
    O nosso objetivo inicial já foi atendido,
    mas suponha que a gente precisasse
  • 4:33 - 4:37
    retornar esses números ímpares,
    só que em números pares.
  • 4:38 - 4:40
    A gente poderia vir aqui
    e multiplicar por dois.
  • 4:40 - 4:44
    O List preencheu, fez o filtro
    e desse filtro
  • 4:44 - 4:47
    antes de retornar para a lista,
    a gente fez uma transformação
  • 4:47 - 4:51
    multiplicando cada um dos itens
    que foram retornados por dois.
  • 4:51 - 4:57
    E dessa forma a gente tem o resultado
    213 458 182, que são basicamente o dobro
  • 4:57 - 5:00
    daqueles valores
    ímpares que a gente tinha no começo.
Title:
CTA CAP03 2025 VA03 PYTHON LIST COMPREHENSION
Video Language:
Portuguese, Brazilian
Duration:
05:03

Portuguese, Brazilian subtitles

Incomplete

Revisions Compare revisions