16
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.
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]
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