Vai al contenuto

Python – List Comprehension

Le comprehension permettono l’utilizzo di una sintassi breve quando si vuole creare una nuova lista proveniente da una lista di valori preesistente.

Esempio:
Sulla base di una lista di frutti, vogliamo una nuova lista , che contiene solo valori che abbiano la lettera “a”.
Senza la comprehension dovremmo utilizzare la dichiarazione for:

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []

for x in fruits:
  if "a" in x:
    newlist.append(x)

print(newlist)

Mentre con una comprehension possiamo usare una sola riga di codice:

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]

newlist = [x for x in fruits if "a" in x]

print(newlist)

[‘apple’, ‘banana’, ‘mango’]

Altro esempio per aggiungere una decina ai numeri.

L = [1,2,3,4,5]

L = [x+10 for x in L]

print(L)

[11, 12, 13, 14, 15]

Extended comprehension

Alla comprehension si può aggiungere una condizione.

L = [1,2,3,4,5]

L = [x+10 for x in L if x%2 == 0]

print(L)

[12, 14]

Altri esempi

pws = [x**2 for x in range(10) if x > 4]

print(pws)

[25, 36, 49, 64, 81]

strings = [x+y for x in 'abc' for y in 'def']

print(strings)

[‘ad’, ‘ae’, ‘af’, ‘bd’, ‘be’, ‘bf’, ‘cd’, ‘ce’, ‘cf’]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *