SlideShare una empresa de Scribd logo
1 de 10
Otimizando com List Comprehensions Adriano Monteiro Marques <py.adriano@gmail.com>
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 Comprehension d = {&quot;a&quot;:1, &quot;b&quot;:2, &quot;c&quot;:3, &quot;d&quot;:4, &quot;e&quot;:5, &quot;f&quot;:6, &quot;g&quot;:9, &quot;h&quot;: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 segundos Laço for: 71.49 segundos
Gerando uma lista com o resultado de uma função
List comprehension import math d = {&quot;a&quot;:1, &quot;b&quot;:2, &quot;c&quot;:3, &quot;d&quot;:4, &quot;e&quot;:5, &quot;f&quot;:6, &quot;g&quot;:9, &quot;h&quot;: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 segundos Laço for: 147.52 segundos

Más contenido relacionado

Más de Sérgio Silva (13)

4 secrets-to-a-great-memory
4 secrets-to-a-great-memory4 secrets-to-a-great-memory
4 secrets-to-a-great-memory
 
Arrogancia
ArroganciaArrogancia
Arrogancia
 
Web2
Web2Web2
Web2
 
Web2
Web2Web2
Web2
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bash
 
O Que é Shell (bash)
O Que é Shell (bash)O Que é Shell (bash)
O Que é Shell (bash)
 
Web2.0
Web2.0Web2.0
Web2.0
 
web2.0.ppt
web2.0.pptweb2.0.ppt
web2.0.ppt
 
A lição da borboleta
A lição da borboletaA lição da borboleta
A lição da borboleta
 
Natal Livre
Natal LivreNatal Livre
Natal Livre
 
A Cadeira O Encontro
A Cadeira O EncontroA Cadeira O Encontro
A Cadeira O Encontro
 
Charges
ChargesCharges
Charges
 
Charges
ChargesCharges
Charges
 

List Comprehensions Python

  • 1. Otimizando com List Comprehensions Adriano Monteiro Marques <py.adriano@gmail.com>
  • 2. Sintaxe [ valor for valor in iteração if comparação ] É equivalente a: lista = [] for valor in iteração: if comparação: lista.append(valor)
  • 4. List Comprehension d = {&quot;a&quot;:1, &quot;b&quot;:2, &quot;c&quot;:3, &quot;d&quot;:4, &quot;e&quot;:5, &quot;f&quot;:6, &quot;g&quot;:9, &quot;h&quot;:10} [d[letra] for letra in d if d[letra]/2 == 0]
  • 5. Laço for lista = [] for letra in d: if d[letra]/2 == 0: lista.append(d[letra])
  • 6. Performance 1 milhão de execuções: List comprehension: 43.29 segundos Laço for: 71.49 segundos
  • 7. Gerando uma lista com o resultado de uma função
  • 8. List comprehension import math d = {&quot;a&quot;:1, &quot;b&quot;:2, &quot;c&quot;:3, &quot;d&quot;:4, &quot;e&quot;:5, &quot;f&quot;:6, &quot;g&quot;:9, &quot;h&quot;:10} [ math.sqrt(d[letra]) for letra in d if d[letra]/2 == 0]
  • 9. Laço for lista = [] for letra in d: if d[letra]/2 == 0: lista.append( math.sqrt(d[letra]) )
  • 10. Performance 1 milhão de execuções: List comprehension: 75.34 segundos Laço for: 147.52 segundos