SlideShare uma empresa 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

Mais conteúdo relacionado

Mais 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
 

Último

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 

Último (8)

Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 

Otimizando com list-comprehensions

  • 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