‫Vamos falar sobre algo que é único em Python e torna as coisas muito, muito legais como programadores de Python,
‫e é chamado de compreensão, é um dos nossos termos-chave.
‫Compreensões.
‫O que eles são?
‫Bem, na verdade eles são chamados de compreensões de lista ou compreensões de conjuntos ou compreensões de dicionário.
‫E esses são alguns dos tipos de dados que temos no Python.
‫E podemos usar compreensões com esses três tipos de dados, aliás, enquanto estou registrando, há alguns
‫pássaros cantando ao fundo.
‫Achei que seria bom apenas gravar o chilrear dos pássaros ao fundo.
‫Acho que será tranquilo para você se ficar irritado.
‫Sinto muito, mas, ei, os pássaros também precisam se divertir.
‫OK, então quais são essas compreensões?
‫Bem, eles são uma maneira rápida de criarmos listas ou conjuntos ou dicionário em Python, em vez de talvez fazer um loop
‫ou anexar a um monte de itens a listas.
‫Então, deixe-me mostrar a você, em vez de fazer algo como minha lista é igual a uma lista vazia, e a
‫partir daqui farei algo como quatro caracteres em Hello.
‫Minha lista é anexada.
‫Personagem.
‫Só para que eu possa criar essa lista finalmente, digamos minha lista e vamos imprimi-la.
‫Se eu clicar, corra.
‫Criei uma lista que contém os personagens de Hello.
‫Tudo bem, mas.
‫Existe uma maneira mais rápida e limpa de fazer isso e sim, com menos compreensão em Python.
‫Novamente, é bastante único.
‫Você não vê isso em muitas linguagens de programação, mas as pessoas que usam Python realmente amam esse recurso, e
‫eu também.
‫Então, como podemos fazer isso usando uma compreensão de lista?
‫Bem, o formato que vamos seguir é assim.
‫Vamos dizer Perram.
‫Para.
‫Perram em iterável.
‫Então, quando digo Perram, quero dizer parâmetro, ou no nosso caso, poderia ser uma variável, então podemos nomeá-la
‫como quisermos.
‫Então, vamos nomear esse personagem como fizemos aqui e, em seguida, um personagem como fizemos aqui.
‫E então queremos que um iterável em nosso caso diga olá.
‫Para que se eu remover isso e clicar em executar.
‫Eu recebo a mesma coisa assim, então no Creation Online três, eu crio uma lista que contém caracteres
‫em Hello, eu faço um loop for aqui e crio a lista.
‫Então, a maneira que gosto de pensar sobre isso é, ei,
‫crie uma variável e então faremos um loop for dizendo, ei, para cada variável no iterável adicionado à lista.
‫OK, vamos expandir isso, digamos que eu queira fazer outra coisa, vamos chamá-la de minha lista também,
‫e eu quero criar, digamos, uma lista rápida com números variando de zero a cem ou de zero a noventa e
‫nove.
‫Como eu faria isso de novo?
‫Usando uma compreensão de lista, direi o número quatro e qual é o iterável que irei usar?
‫Bem, vou usar um intervalo e dizer de zero a 100 para que se eu clicar em executar aqui.
‫Olha só, eu recebo uma lista longa e bonita, bem povoada com todos esses números.
‫Quão legal é isso?
‫OK.
‫Mas aqui está meu desafio para você.
‫E se eu quisesse isso, mas todos os números deveriam ser multiplicados por dois.
‫Então, eu quero uma lista onde isso seja igual a zero.
‫São dois.
‫São quatro.
‫Este é seis.
‫São oito.
‫São dez.
‫E assim por diante.
‫Como eu posso fazer isso?
‫Bem, podemos realmente expandir isso para que minha lista três desta vez use o mesmo loop for que
‫vimos antes.
‫Assim, mas em vez de apenas a variável, agora é uma expressão de como queremos agir em cada
‫caractere, assim como vimos nas expressões lambda.
‫Então agora posso dizer tempos entorpecidos para.
‫Para.
‫Esses itens.
‫Então, agora, se eu fizer minha lista três.
‫Ei, olha só.
‫Isso é muito bom, não é?
‫OK, vamos torná-lo ainda mais desafiador, digamos, Milhas três, e vamos torná-lo um pouco maior
‫aqui.
‫Minha lista para quero alterá-la para que na minha lista, ainda mantenha aqui o que tenho os números, mas quero manter apenas
‫os números pares.
‫Nesse caso, todos são pares porque são multiplicados por dois, mas se, por exemplo, fizermos à potência
‫de dois e vamos comentar por um segundo e clicar em executar.
‫Vemos que alguns números não são.
‫Mesmo assim, quero manter esses números, mas só os pares, como faria?
‫Bem, neste caso, temos uma nova forma de criar esta expressão, faremos exatamente a mesma coisa que
‫fizemos aqui.
‫Então, vou apenas copiar isso.
‫Mas, no final, lembre-se, agora temos uma expressão aqui, algo que faremos para efetuar qualquer que
‫seja o item no iterável.
‫Vamos percorrer as coisas e, finalmente, depois disso, podemos dizer se ou podemos fazer uma condição if.
‫Então, digamos que em nosso caso, eu direi se num.
‫Módulo dois é igual a zero, somente então adicionado à lista.
‫Então, se clicarmos, corra.
‫Bem, e certifique-se de que é menos para clique em execução.
‫Veja só, todos esses são números pares, então vamos examinar este formato.
‫Lembrar?
‫Elas são chamadas de compreensões de lista, é uma maneira de criarmos listas rapidamente com Python, em vez de
‫fazer um loop e usar append ou coisas que vimos antes.
‫Portanto, é uma forma abreviada de fazermos coisas únicas como essa.
‫A maneira como podemos fazer isso é ter uma expressão aqui do que queremos fazer com cada item sobre
‫o qual estamos iterando, fazemos um loop.
‫Usando um loop for através de unhittable, damos a ele uma variável sobre a qual agiremos
‫e, se quisermos, também temos a opção de adicionar um condicional e dizer, ei, apenas incluído na lista com base nesta condição ,
‫com base em verdadeiro ou falso.
‫Muito, muito legal agora, embora as compreensões de lista sejam muito boas porque são apenas
‫linhas simples, pode ficar muito confuso.
‫Olhando para este código, você precisa estar realmente familiarizado com as compreensões de lista para realmente entender o que
‫está acontecendo.
‫Portanto, embora isso torne o código mais curto, talvez até mais limpo, diminui um pouco sua legibilidade.
‫Portanto, pode ser melhor apenas criar uma função descritiva, como gerar uma lista de números pares ou
‫algo parecido.
‫Portanto, é mais descritivo.
‫E outro desenvolvedor pode ter uma ideia melhor do que está acontecendo.
‫Portanto, é sempre uma troca.
‫Vamos fazer uma pausa e falar sobre as compreensões de conjuntos e dicionários no próximo vídeo de.