Comprehensions em Python

0 – Python
6 – Funcional
6.1 – Funcoes puras
6.2 – Imutabilidade (tuplas, frozenset, namedtuple)
6.3 – Funcoes de alta ordem (map, filter, reduce)
6.4 – Comprehensions (list, dict, set)
6.5 – Geradores (yield, generator expressions)
6.6 – Decorators (@)
6.7 – Closures
6.8 – Funcoes lambda
LEGENDA
Nivel_1
Nivel_2
Nivel_3

Comprehensions são sintaxes concisas para criar coleções em Python. Elas substituem loops tradicionais por expressões declarativas. Primeiramente, list comprehension é a mais comum entre elas. Por exemplo, [x*2 for x in range(5)] gera [0,2,4,6,8]. Além disso, dict comprehension e set comprehension também existem. Assim, você escreve menos código e com mais clareza. Consequentemente, a manutenção se torna muito mais fácil. Quando utilizar comprehensions? Em transformações simples de coleções. Também para filtrar e mapear dados de forma legível. Por outro lado, para lógica muito complexa, loops são melhores. Elas são mais rápidas e pythonicas que loops manuais. Então, vamos explorar cada tipo com exemplos práticos. Três subtítulos guiarão você pelas comprehensions. Portanto, ao final, você escreverá código mais limpo e eficiente.

List comprehension: gerando listas de forma concisa

List comprehension cria uma nova lista a partir de um iterável. A sintaxe básica é [expressão for item in iterável]. Você pode adicionar condicionais com if no final. Quando usar list comprehension? Para mapeamentos e filtros simples. Elas são mais rápidas que loops for tradicionais. Além disso, você pode aninhar múltiplos for e if. Exemplo de list comprehension:

List comprehensions são rápidas e expressivas. Use-as sempre que possível para código mais limpo. Portanto, prefira comprehension a loops simples.

Dict comprehension: criando dicionários dinâmicos

Dict comprehension cria dicionários com sintaxe semelhante. A forma é {chave: valor for item in iterável}. Você também pode adicionar condicionais e múltiplos for. Quando usar dict comprehension? Em transformações chave-valor. Por exemplo, inverter dicionários ou criar mapeamentos. Além disso, você pode combinar duas listas facilmente. Exemplo de dict comprehension:

Dict comprehension é ideal para transformar listas em dicionários. Ela torna o código mais legível que loops com dict.update(). Assim, você evita código verboso e repetitivo.

Set comprehension: conjuntos únicos e eficientes

Set comprehension cria conjuntos (sets) com elementos únicos. A sintaxe é {expressão for item in iterável}. Ela remove duplicatas automaticamente por definição. Quando usar set comprehension? Em operações com elementos únicos. Por exemplo, extrair valores distintos de uma lista. Além disso, set comprehension é muito eficiente em performance. Exemplo de set comprehension:

Set comprehension é eficiente e elimina duplicatas. A fórmula geral das comprehensions é clara: \(C = [f(x) \text{ for } x \text{ in } S \text{ if } p(x)]\) Comprehensions são mais pythonicas que loops tradicionais. Elas são mais rápidas, mais curtas e mais legíveis. Use list comprehension para transformar sequências. Use dict comprehension para mapeamentos chave-valor. Use set comprehension para conjuntos únicos. Portanto, seu código será mais expressivo e profissional. Finalmente, pratique comprehensions em todos os seus projetos.

Deixe um comentário