Reduza a criação de listas utilizando compreensão em listas

Post original: link

Normalmente quando estamos estudando Python e aprendendo a criar listas, utilizar while, for e if, nos sentimos com super poderes rs. Mas com grandes poderes vêm grandes responsabilidades.

Mãos à obra

Vamos criar um lista e vamos preenche-la utilizando

for e range().
>>> my_list1 = []
>>> for x in range(0, 10):
        my_list1 += [x]
>>> my_list1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Agora vamos criar a mesma lista utilizando compreensão em listas.

>>> my_list2 = [i for i in range(0, 10)]
>>> my_list2
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

E então?
Simplificamos toda a criação de nossa lista em uma única linha.

Vamos a mais um exemplo, podemos adicionar operações matemáticas.

>>> my_list3 = [i * 2 + 2 for i in range(0, 10)]
>>> my_list3
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

Que tal usarmos if?

Queremos vê os números pares.

>>> my_list4 = [i for i in range(0, 10) if i % 2 == 0]
>>> my_list4
[0, 2, 4, 6, 8]

Se não tivéssemos utilizado compreensão em lista o nosso código ficaria assim.

>>> my_list4 = []
>>> for x in range(0, 10):
        if x % 2 == 0:
            my_list4 += [x]
>>> my_list4
[0, 2, 4, 6, 8]

Por que devo usar compreensão em listas?

Além do fato que podemos diminuir bastante o nosso código, uma coisa muito importante também é a beleza do código.

Beleza?

Sim!!!

Vamos lembrar do primeiro mandamento do Zen Of Python.

“Beautiful is better than ugly.”
ou seja
“Bonito é melhor que feio.”

Espero que esse pequeno artigo tenha ajudado você de alguma forma no seu caminho pela arte Pythonica.

Os fundamentos são a base de tudo.

Nunca desista de correr atrás dos seus sonhos

16