Menu
Coddy logo textTech

Usare l'aggregazione dei dati

Fa parte della sezione Logica e flusso del percorso Python di Coddy. Lezione 53 di 78.

Le list comprehension offrono un modo conciso per creare nuove liste basate su iterabili esistenti. Puoi integrare funzioni di aggregazione dei dati come sum(), min() e max() direttamente nelle list comprehension per eseguire calcoli sugli elementi della nuova lista mentre viene creata.

Calcolare la somma dei quadrati:

numbers = [1, 2, 3, 4, 5]
sum_of_squares = sum([n * n for n in numbers])
print(sum_of_squares)
# Output: 55

In questo esempio, la comprensione di lista [n * n for n in numbers] crea una lista di quadrati e la funzione sum() calcola la somma di questi quadrati.

Trovare il minimo dei valori trasformati:

numbers = [-3, -1, 0, 1, 3]
min_absolute = min([abs(n) for n in numbers])
print(min_absolute)
# Output: 0

Qui, la list comprehension [abs(n) for n in numbers] crea una lista di valori assoluti, e la funzione min() trova il valore minimo in questa lista.

Trovare il massimo dei valori filtrati:

numbers = [1, 2, 3, 4, 5, 6]
max_even = max([n for n in numbers if n % 2 == 0])
print(max_even)
# Risultato: 6

In questo esempio, la comprensione di lista [n for n in numbers if n % 2 == 0] crea una lista di numeri pari e la funzione max() trova il valore massimo in questa lista.

challenge icon

Sfida

Facile

Scrivi una funzione sum_positive_evens che accetta in input una lista di numeri. Usa una comprensione di lista per filtrare i numeri pari positivi, poi usa sum() per calcolarne il totale. Restituisci il risultato.

Esempio di input:

numbers = [-10, -5, 0, 2, 4, 7, 10, 12]

Esempio di output:

28

Provalo tu

def sum_positive_evens(numbers):
    # Scrivi il codice qui
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Python online