Funktionen wie sort, max oder min können Argumente wie key= akzeptieren, die Funktionen sind und ihr Verhalten bestimmen. Dies macht die eingebauten Funktionen sort und max wesentlich mächtiger und generischer. Sie können in viel mehr Szenarien eingesetzt werden, als wenn sie nur die Werte selbst ohne das Argument key= vergleichen würden.
Wir können auch unsere eigenen Funktionen höherer Ordnung erstellen:
Hier übergeben wir verschiedene Funktionen als f an die Funktion höherer Ordnung modify. Die Funktion modify erstellt eine neue Liste aus der Eingabeliste und gibt das Ergebnis zurück. Beachte, dass wir sogar eine Funktion wie str an die Funktion übergeben können. So wird auf jedes Element der Eingabeliste die Funktion str() angewendet – str(2), str(0), str(1).
Herausforderung
Implementiere eine generische Version der Funktion sum, genannt generic_sum, die als erstes Argument eine Sammlung nimmt (es kann eine Liste, eine Menge oder eine Liste von Tupeln sein) und als zweites Argument eine Funktion, die aus jedem Element der Sammlung eine Zahl erhält.