Die Geschichte der Verwendung von Python reduziert

In funktionalen Sprachen gibt es Funktionen wie foldr und foldl, die eine Verarbeitung ausführen, bei der eine Art Array reduziert wird. Vor kurzem habe ich mich gefragt, ob es eine ähnliche Implementierung in Python gibt, aber ich habe festgestellt, dass es so etwas wie Reduse gibt.

Wenn Sie beispielsweise sicherstellen möchten, dass in einem Array, das nur aus Booleschen Werten besteht, alles wahr ist und Sie keine Wiederverwendung verwenden, kann dies zu folgendem schmutzigen Schreibstil führen.

python


def check_all_true(check_array):
    result = True
    for elem in check_array:
        result = result and elem
    return result

if __name__ == '__main__':
    print check_all_true([True, True, True])
    print check_all_true([True, False, True])

Wenn Sie dies zur Reduzierung umschreiben, sieht es wie folgt erfrischend aus.

python


def check_all_true(check_array):
    return reduce(lambda prev, nxt: prev and nxt, check_array)

if __name__ == '__main__':
    print check_all_true([True, True, True])
    print check_all_true([True, False, True])

Die Substanz von Reduce scheint jedoch Foldl zu sein. Wenn Sie also wie Foldr arbeiten möchten, müssen Sie ein wenig überlegen.

Recommended Posts

Die Geschichte der Verwendung von Python reduziert
Eine erfrischende Geschichte über Slice in Python
Eine launische Geschichte über Slice in Python
Eine Geschichte über einfaches maschinelles Lernen mit TensorFlow
Geschichte der Verwendung von Resonas Software-Token mit 1Password
Eine Geschichte über die Installation von matplotlib mit pip mit einem Fehler
Erfahren Sie mehr über die Protokollierung mit dem Python-Protokollierungsmodul ①
Eine Geschichte über einen magischen Umbau, der Lubuntu in ein Chromebook bringt
Hinweis zur Verwendung der Python-Eingabefunktion
Eine Geschichte über maschinelles Lernen mit Kyasuket
Eine Geschichte über Python Pop und Append
Die Geschichte, den Versuch aufzugeben, mit Heroku eine Verbindung zu MySQL herzustellen
Eine süchtig machende Geschichte bei der Verwendung von Tensorflow unter Android
Eine Geschichte über den Betrieb einer GCP-Instanz von Discord
Eine Geschichte, die von Go's globalen Variablen und ihrem Umfang abhängig ist
Die Geschichte, Artikel-verknüpfte Anzeigen auf Jubatus anzeigen zu wollen
Eine Geschichte über die Implementierung eines Anmeldebildschirms mit Django
Eine Geschichte über das Ausführen von Python auf PHP auf Heroku
Eine Geschichte über das Ändern von Python und das Hinzufügen von Funktionen
Geschichte rund um die Datenanalyse durch maschinelles Lernen
Flucht aus Pythons virtueller Umgebung ~ Eine Geschichte über das Fangen in einer von mir erstellten virtuellen Umgebung ~
Eine Geschichte über die Vorhersage des Wechselkurses mit Deep Learning
Die Geschichte der Migration der gesamten Linux-Festplatte über SSH
Ein Memorandum über Nan.
Die Geschichte, mit Python eine Hanon-ähnliche Partitur zu machen
Eine Geschichte über das Ausprobieren eines (Golang +) Python-Monorepo mit Bazel
Eine Geschichte über einen Python-Anfänger, der versucht, Google-Suchergebnisse mithilfe der API abzurufen
Eine Geschichte, die die Discord-Aktivität im Slack-Status widerspiegelt
Ein Hinweis zu __call__
Eine Geschichte über das Problem, 3 Millionen ID-Daten in einer Schleife zu verarbeiten
Versuchen Sie es mit Pythons Tkinter
Ein Hinweis zum Unterprozess
Eine Geschichte über die Änderung des Master-Namens von BlueZ
Ein Hinweis zu mprotect (2)
Eine Geschichte über einen Linux-Anfänger, der in einer Woche LPIC101 bestanden hat
Eine Geschichte über einen Linux-Anfänger, der Linux auf ein Windows-Tablet bringt
Eine Geschichte über das Stolpern durch PATH nach der Installation von Anaconda
(Hinweis) Eine Geschichte zum Erstellen eines Frage- und Antwortsystems mit Spring Boot und maschinellem Lernen (SVM).
Maschinelles Lernen Eine Geschichte über Menschen, die mit GBDT in GBDT in Python nicht vertraut sind
Erstellen Sie sofort ein Diagramm mit 2D-Daten mit der matplotlib von Python
Eine Geschichte über das Erstellen eines UNIX / Linux-kompatiblen Betriebssystems von Grund auf neu
Eine Geschichte darüber, wie man einen relativen Pfad in Python angibt.
[Python] Kapitel 01-03 Über Python (Schreiben und Ausführen eines Programms mit PyCharm)
Eine Geschichte über den Wettbewerb mit einem Freund in Othello AI Preparation
Eine etwas tiefere Geschichte über Blockchain, die die digitale Welt ankreuzt
Eine Geschichte über einen Amateur, der mit Python (Kivy) einen Blockbruch macht ②
Eine Geschichte über den Umgang mit dem CORS-Problem
Eine Geschichte über einen Amateur, der mit Python (Kivy) einen Blockbruch macht ①
Eine Geschichte über einen Krieg, als zwei Neuankömmlinge eine App entwickelten
Eine Geschichte über das zufällige Erstellen eines kurzen Songs mit Sudachi Py
Eine Geschichte über das Clustering von Zeitreihendaten des Austauschs
Eine Geschichte über einen 40-jährigen Ingenieurmanager, der "Deep Learning for ENGINEER" bestanden hat
Eine Geschichte über den Versuch, private Variablen in Python zu implementieren.