Python reduce integrierten Funktionen und Karte / Filterfunktionen traverse durch Iterator Funktion aller Elemente zu einer etwas ähnlichen mögen, ist der einzige Unterschied eine Funktion, dass kehrt das Berechnungsergebnis ein Wert ist, und die Karte / Filter gibt eine Sequenz oder Iteration verringern , eine detaillierte Erklärung in der folgenden
Über eine .reduce Funktion
1. Grammatik
von functools # importieren reduzieren导入模块 reduzieren (Funktion, sequence [, initial])
Parameter Beschreibung:
Funktion - eine Funktion von zwei Parametern, die erforderlichen Parameter;
Sequenz - Tupel, Liste, Wörterbuch, string und dergleichen Iteration war erforderliche Parameter;
initial - den Anfangswert, optionale Parameter;
Rückgabewert: gibt das berechnete Ergebnis;
2. Prinzip - das letzte berechnete Ergebnis als die nächste Eingabe berechnet
Reduce Prozess arbeitet, ist: iterative Sequenz (Tupel-Liste, Wörterbuch, string und dergleichen Iteration davon), wobei die ersten beiden Elemente des ersten Parameters an die Funktion, nach der Funktionsverarbeitung, so sind die erzielten Ergebnisse und die dritte Element als Ergebnis zwei Parameter an die Funktion übergebenen Parameter und die erhaltene Funktion wird durch Elemente und den vierten Parameter auf die Funktion der Verarbeitung, und um die beiden Parameter. Wenn man den Anfangswert übergeben, so wird der erste Durchlauf ist nicht eine Folge von ersten und zweiten Elementen, aber der Anfangswert und das erste Element. Nach einer solchen Folge von kumulativen zu einem einzigen Rückgabewert kombiniert;
Zum Beispiel: Das reduziert (das Lambda X, Y: X + Y, [ 1 , 2 , 3 , 4 , 5 ]) wird durch ((((berechnet 1 + 2 ) + 3 ) + 4 ) + 5 ) = 15
Funktion verwendet zwei .reduce
1.Reduce häufig verwendete Funktionen
#! Usr / bin / env Python # - * - Codierung: UTF - 8 _ * - "" " @author: Warum Trauer @Blog (persönliche Adresse Blog): shuopython.com @WeChat Official das Konto (Mikro-Kanal öffentliche Nummer): Ape Python sagte @Github: www.github.com @file: python_reduce.py @time: - 2020 - / 3 / 6 10 : 25 @Motto: wunderbar kurzer Schritt tausend Meilen, keine kleine Bäche zu einem mächtigen Strom, ein Programm des Lebens Notwendigkeit beharrlich zu akkumulieren! "" " von functools # importiert die Importmodule reduzieren DEF func1 (X, Y): # das letzte berechnete Ergebnis als Eingang für das nächste Berechnung Print ( " X =% Dy = Y% * DX % D = " % (X, Y, X * Y)) return X * Y wenn __name__ == " __main__ " : list1 = [ 1 , 2 , 3 , 4 , 5 ] Wert = reduzieren (func1, liste1) #等价1 * 2 * 3 * 4 * 5 = 120 Druck (wert) print (Typ (Wert))
Ausgang:
x = 1 y = 2 x * y = 2 x = 2 y = 3 x * y = 6 x = 6 y = 4 x * y = 24 x = 24 y = 5 x * y = 120 120 < class ' int ' >
Diese Funktion ist eigentlich ganz einfach: die Ergebnisse der vorherigen Berechnung als Eingabe für die nächste Berechnung!
2.Reduce Funktion mit einer anonymen Funktion verwendet
wenn __name__ == " __main__ " : list1 = [ 1 , 2 , 3 , 4 , 5 ] Wert = reduzieren (lambda x, y: x * y, liste1) #等价1 * 2 * 3 * 4 * 5 = 120 drucken (value) print (Typ (value))
Ausgang:
120 < Klasse ' int ' >
Funktion des optionalen anfänglichen 3.Reduce Einstellung
von functools # importieren reduzieren导入模块 def func1 (x, y): return x * y , wenn __name__ == " __main__ " : list1 = [ 1 , 2 , 3 , 4 , 5 ] Wert = reduzieren (func1, liste1, 50 ) #等价50 * 1 * 2 * 3 * 4 * 5 = 6000 Druck (wert) print (Typ (value))
Ausgang:
6000 < Klasse ' int ' >
Sie können auch mögen:
1.python Format Funktion / Druckfunktion im Detail erklärt
2.python lokale und globale Variablen
Shallow gegen tiefe Kopie 3.python
Reproduzierten bitte angeben: Affe Python sagen » Python die Funktion reduzieren