Click here to load reader
Upload
sergio-silva
View
1.536
Download
0
Embed Size (px)
DESCRIPTION
Um artigo sobre o paradigma funcional de programação em python
Citation preview
Otimizando com List Comprehensions
Adriano Monteiro Marques<[email protected]>
Sintaxe
[valor for valor in iteração if comparação]
É equivalente a:
lista = []for valor in iteração: if comparação:
lista.append(valor)
Gerando uma lista simples
List Comprehensiond = {"a":1,
"b":2,"c":3,"d":4,"e":5,"f":6,"g":9,"h":10}
[d[letra] for letra in d if d[letra]/2 == 0]
Laço for
lista = []for letra in d: if d[letra]/2 == 0: lista.append(d[letra])
Performance
1 milhão de execuções:
List comprehension: 43.29 segundosLaço for: 71.49 segundos
Gerando uma lista com o resultado de uma função
List comprehension
import mathd = {"a":1,
"b":2,"c":3,"d":4,"e":5,"f":6,"g":9,"h":10}
[math.sqrt(d[letra]) for letra in d if d[letra]/2 == 0]
Laço for
lista = []for letra in d: if d[letra]/2 == 0: lista.append(math.sqrt(d[letra]))
Performance
1 milhão de execuções:
List comprehension: 75.34 segundosLaço for: 147.52 segundos