Otimizando com list-comprehensions
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Otimizando com list-comprehensions

  • 1,953 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,953
On Slideshare
832
From Embeds
1,121
Number of Embeds
4

Actions

Shares
Downloads
5
Comments
0
Likes
1

Embeds 1,121

http://linuxdicas.wikispaces.com 1,118
http://207.46.192.232 1
http://translate.googleusercontent.com 1
http://webcache.googleusercontent.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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)
  • 3. Gerando uma lista simples
  • 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