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.