Die Funktion „reduce()“ akkumuliert Elemente in der Parametersequenz. Der Artikel führt Sie hauptsächlich in die Verwendung der Funktion „reduce()“ in Python ein. Er ist für jeden sehr nützlich Lernen oder Die Arbeit hat einen gewissen Referenz- und Lernwert. Freunde, die sie benötigen, können einen Blick darauf werfen.
Vorwort
Dieser Artikel stellt hauptsächlich den relevanten Inhalt über die Verwendung der Funktion „reduce()“ in Python vor und stellt ihn als Referenz zur Verfügung Im Folgenden gibt es nicht viel zu sagen. Werfen wir einen Blick auf die ausführliche Einführung: Die Funktion
reduce() befindet sich in der Bibliothek functools. Wenn Sie sie verwenden möchten, müssen Sie sie aus dieser Bibliothek importieren. Die Reduzierungsfunktion unterscheidet sich von der Kartenfunktion. In den meisten Fällen ist die Reduzierungsfunktion eine Operation, die mehrere Parameter kombiniert vereinfachen. Um beispielsweise festzustellen, ob es sich bei einem Bild um eine Katze handelt, muss man aus vielen Pixeln ein Urteil ableiten: Ja oder Nein. Es mag Millionen von Pixeln geben, aber es wird nur ein Ergebnis ausgegeben. In den großen Clustern von GOOGLE wird diese Idee verwendet, um die Ergebnisse nach der Parallelverarbeitung zu vereinfachen und zu klassifizieren. Dieser Prozess der Vereinfachung und Klassifizierung wird als Reduzierung bezeichnet. Da Reduzieren nur auf einem Host ausgeführt werden kann und nicht verteilt verarbeitet werden kann, ordnen Reduzierprozesse die Ergebnisse zu, was bedeutet, dass diese Ergebnisse sehr einfach sind, die Datenmenge stark reduziert wird und die Verarbeitung sehr schnell ist.
Daher kann der Mapreduce-Prozess als Analyse- und Induktionsprozess bezeichnet werden.
Sehen Sie sich das Reduce()-Beispiel unten an:
#python 3. 6 #蔡军生 #http://blog.csdn.net/caimouse/article/details/51749579 # from functools import reduce result = reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) print(result)
Ausgabeergebnis:
15
In diesem Beispiel sieht der Berechnungsprozess tatsächlich so aus:
((( (1+2)+3)+4)+5)
Sehen Sie sich ein anderes Fakultätsbeispiel an:
#python 3. 6 #蔡军生 #http://blog.csdn.net/caimouse/article/details/51749579 # from functools import reduce n = 3 print(reduce(lambda x, y: x * y, range(1, n + 1))) # 6
Ausgabeergebnis:
6
Reduzierungsfunktion, die Reduzierungsfunktion wird Akkumulieren Sie Elemente in der Parametersequenz.
Definition der Reduktionsfunktion:
reduce(function, sequence[, initial]) -> value
Der Funktionsparameter ist ein Parameter mit zwei Parametern Funktion, Reduce nimmt der Reihe nach ein Element aus der Sequenz und ruft die Funktion erneut mit dem Ergebnis des letzten Funktionsaufrufs als Parameter auf.
Wenn die Funktion zum ersten Mal aufgerufen wird und der Anfangsparameter angegeben wird, wird die Funktion mit dem ersten Element in der Sequenz und dem Anfangselement als Parameter aufgerufen, andernfalls mit den ersten beiden Elementen in der Sequenz wird als Parameter verwendet.
reduce(lambda x, y: x + y, [2, 3, 4, 5, 6], 1)
Das Ergebnis ist 21( (((((1+2)+3)+4)+5)+6) )
reduce(lambda x, y: x + y, [2, 3, 4, 5, 6])
Das Ergebnis ist 20
Zusammenfassung
Das obige ist der detaillierte Inhalt vonBeispiel für die Funktion Reduce() in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!