Funzioni come sort, max o min possono accettare argomenti come key= che sono funzioni e possono determinare il loro comportamento. Questo rende le funzioni incorporate sort e max molto più potenti e generiche. Possono essere utilizzate in molti più scenari rispetto a se confrontassero solo i valori stessi senza l'argomento key=.
Possiamo anche creare le nostre funzioni di ordine superiore:
Qui passiamo diverse funzioni come f alla funzione di ordine superiore modify. La funzione modify crea una nuova lista a partire da quella di input e restituisce il risultato. Nota che possiamo anche passare una funzione come str alla funzione. Quindi, a ogni elemento della lista di input verrà applicata la funzione str() - str(2), str(0), str(1).
Sfida
Implementa una versione generica della funzione sum chiamata generic_sum che prende una collezione come primo argomento (può essere una lista, un set o una lista di tuple) e una funzione come secondo argomento che ottiene un numero da ogni elemento della collezione.