Llista per comprensió

De Viquipèdia
Dreceres ràpides: navegació, cerca

Comprensió s'entén aquí en el sentit d'inclusió.

Una llista per comprensió (en l'original anglès List comprehension) és una construcció de programació que permet

generar una llista a partir d'una funció definida parcialment, concretada en una expressió, especificant el subdomini de partida declarant-ne els valors compresos mitjançant una seqüència de rangs o generadors i filtres.

Tradueix al llenguatge informàtic la notació de subconjunts tradicional de la matemàtica.

S=\{x|x \in \mathbb{N}, x^2>3\}

tindria un equivalent en llenguatge Haskell (que permet declarar llistes il·limitades)

S = [ x | x<-[0..], x^2>3 ] 

Taula de continguts

Exemples en diversos llenguatges [modifica]

Per exemple la llistes seguents especifiquen el domini de les x com a subdomini dels sencers, en el rang 0 a 100 que compleixen la clàusula x² > 3.

Haskell [modifica]

En llenguatge Haskell la sintaxi de la llista equivalent seria

S = [ 2*x | x<-[0..100], x^2>3 ] 

Erlang [modifica]

S = [2*X || X <- lists:seq(0,100), X*X > 3].

Python [modifica]

S = [2*x for x in range(101) if x**2 > 3]

Scala [modifica]

val s = for (x <- List.range(0,101); if x*x > 3) yield 2*x