Mappatura
Lezione 2 di 9 del corso List comprehension in Python di Coddy.
Supponiamo che ti venga data una lista di numeri e che tu voglia calcolare una stringa che contenga i cubi di tutti i numeri,
nums = [1, 4, 6, 12, 3]
cubes = []
for n in nums:
cubes.append(n ** 3)
print(cubes) # [1 , 16, 36, 144, 9]Usando la comprehension di lista, è possibile farlo in una sola riga,
nums = [1, 4, 6, 12, 3]
cubes = [n ** 3 for n in nums]
print(cubes) # [1 , 16, 36, 144, 9]Questo tipo di operazione si chiama mapping: applicare una funzione a ciascun elemento di una lista esistente e generare una nuova lista contenente i risultati.
Ecco la sintassi,
lst = [expression for item in iterable]lst conterrà una nuova lista ottenuta dall'operazione di comprehension di lista.
Sfida
FacileData una lista di numeri nums, supponendo che ogni elemento sia x, calcola una nuova lista in cui ogni elemento viene calcolato con la seguente equazione: <strong>x<sup>3</sup>+2*x<sup>2</sup>+5</strong>
Memorizza la nuova lista in una variabile chiamata new_nums.
Provalo tu
nums = eval(input()) # Non modificare questa riga
Tutte le lezioni di List comprehension in Python
Esercitati da solo: Compilatore Python online