List Comprehension (Python)

« Back to Glossary Index

Una List Comprehension és una construcció sintàctica pròpia de Python que permet generar noves llistes de manera concisa, expressiva i eficient. Es basa en la combinació d’una expressió, un o més bucles for i, opcionalment, condicions if, dins d’una única línia de codi. Aquesta tècnica substitueix els bucles iteratius tradicionals, millorant la llegibilitat i reduint la complexitat del codi.

La seva estructura general és la següent:

[expressió for element in seqüència if condició]

On cada part té una funció específica:

  • expressió → defineix la transformació que s’aplica a cada element de la seqüència d’origen.
  • for element in seqüència → indica la iteració sobre els elements de la col·lecció original.
  • if condició (opcional) → permet filtrar els elements que compleixen una determinada condició lògica.

Exemple bàsic

# Crear una llista amb els quadrats dels nombres del 0 al 9
quadrats = [x**2 for x in range(10)]
print(quadrats)
# ➜ [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

També és possible introduir una condició per refinar el resultat:

# Generar una llista amb els quadrats dels nombres parells
quadrats_parells = [x**2 for x in range(10) if x % 2 == 0]
print(quadrats_parells)
# ➜ [0, 4, 16, 36, 64]

Les comprehensions no es limiten a llistes: Python ofereix variants per a altres estructures de dades com els diccionaris (dict comprehensions) i els conjunts (set comprehensions), que segueixen una sintaxi similar i permeten construir col·leccions de manera declarativa.

Des d’una perspectiva de bones pràctiques, les List Comprehensions són recomanables quan la transformació és breu i comprensible, ja que afavoreixen un estil de programació més funcional i orientat a l’expressió. Contribueixen a escriure codi Pythonic, és a dir, codi clar, directe i elegant.

« Back to Glossary Index