Otimizando com list-comprehensions

1,677 views

Published on

Um artigo sobre o paradigma funcional de programação em python

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,677
On SlideShare
0
From Embeds
0
Number of Embeds
1,168
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Otimizando com list-comprehensions

  1. 1. Otimizando com List Comprehensions Adriano Monteiro Marques <py.adriano@gmail.com>
  2. 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)
  3. 3. Gerando uma lista simples
  4. 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. 5. Laço for lista = [] for letra in d: if d[letra]/2 == 0: lista.append(d[letra])
  6. 6. Performance 1 milhão de execuções: List comprehension: 43.29 segundos Laço for: 71.49 segundos
  7. 7. Gerando uma lista com o resultado de uma função
  8. 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. 9. Laço for lista = [] for letra in d: if d[letra]/2 == 0: lista.append( math.sqrt(d[letra]) )
  10. 10. Performance 1 milhão de execuções: List comprehension: 75.34 segundos Laço for: 147.52 segundos

×