Buscar

List Comprehension

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Como usar List comprehension em Python:
	
	A list comprehension é uma forma de escrever várias linhas de código que seriam usadas para criar uma lista em apenas uma. Por exemplo:
							1 lista = [ ]
							2 for x in range(10):
							3 lista.append(x)
							4 print(lista)
	Como resultado desse trecho de código, teríamos [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]. Ou seja, seriam necessárias quatro linhas para escrever o código. Mas se usarmos list comprehension, esse mesmo trecho de código poderia ser resumido em apenas uma linha:
							1 lista = [x for x in range(10)]
	Cuja saída seria também [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]. É bem notório o quanto é economizado em número de linhas e escrita ao usar o list comprehension para gerar uma lista em Python.
	Mas e se tivermos que trabalhar com laços for aninhados para gerarmos uma lista, teria como escrever o código usando list comprehension? Vejamos o seguinte exemplo:
							1 lista = [ ]
							2 for x in range(1, 6):
							3 for y in range(1, 6):
							4 lista.append(x * y)
							5 print(lista)
	A saída seria o seguinte: [1, 2, 3, 4, 5, 2, 4, 6, 8, 10, 3, 6, 9, 12, 15, 4, 8, 12, 16, 20, 5, 10, 15, 20, 25]. A mesma coisa feita usando list comprehension ficaria assim:
							1 lista = [x * y for x in range(1, 6) for y in range(1, 6)]
	Deu para perceber que o código ficou muito menor, não é mesmo? E se colocarmos esse mesmo código de uma linha só para rodar, ele vai ter a mesma saída do código anterior contendo 5 linhas. 
	Se precisar colocar uma condicional em uma list comprehension, podemos fazê-lo sem medo. Vamos dividir os exemplos em listas simples e aninhadas e listas geradas de forma padrão no Python e listas geradas usando list comprehension:
						LISA SIMPLES PADRÃO:
							1 lista = [ ]
							2 for x in range(1, 41);
							3 if x % 4 == 0:
							4 lista.append(x)
							5 print(lista)
							
							SAÍDA: [4, 8, 12, 16, 20, 24, 28, 32, 36, 40]
						LISTA SIMPLES (LIST COMPREHENSION):
							1 lista = [x for x in range(1, 41) if x % 4 == 0]
							2 print(lista)
							
							SAÍDA: [4, 8, 12, 16, 20, 24, 28, 32, 36, 40]
						LISTAS ANINHADAS PADRÃO:
							1 lista = [ ]
							2 for x in range(1, 6):
							3 for y in range(1, 6):
							4 if x != y:
							5 lista.append(x * y)
							6 print(lista)
							
							SAÍDA: [2, 3, 4, 5, 2, 6, 8, 10, 3, 6, 12, 15, 4, 8, 12, 								20, 5, 10, 15, 20]
						LISTAS ANINHADAS (LIST COMPREHENSION):
							1 lista = [x * y for x in range(1, 6) for y in range(1, 6) 								if x != y]
							2 print(lista)
							
							SAÍDA: [2, 3, 4, 5, 2, 6, 8, 10, 3, 6, 12, 15, 4, 8, 12, 								20, 5, 10, 15, 20]
	Isso foi só uma demonstração bem simples do que se pode fazer usando list comprehension no Python. Isso é algo que vai lhe ajudar a economizar várias linhas de códigos além de melhorar a performance do programa na hora de executar. Claro, essa diferença só vai ser percebida de forma bem prática quando esse recurso for usado em códigos com muitas linhas.
	Bom espero que esse pequeno tutorial ajude alguém.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando