Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für die Funktion Reduce() in Python

Beispiel für die Funktion Reduce() in Python

黄舟
黄舟Original
2017-10-03 05:44:491646Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn