Probieren Sie eine funktionale Programmierpipe in Python aus

Rohrbearbeitung

Betrachten Sie die Pipe-Verarbeitung in einer funktionalen Sprache in Python.

Das Ideal ist result = [3,1,2] |> sorted |> reversed ## [3,2,1]

Implementierung

--Wrap mit Werten und Funktionen in Ihrer eigenen Klasse.

Originalklasse PIPE

PIPE.py


# >>Rohrbearbeitung mit
class PIPE:
    def __init__(self, val):
        self.val = val

    def __rshift__(self, other):
        if callable(other.val):
            return PIPE(other.val(self.val))
        return other.val
        
    def __str__(self):
        return str(self.val)

Usage

result = PIPE([3,1,2]) >> PIPE(sorted)
print(result) # [1, 2, 3]

sample1

#Sowohl Lambda als auch Funktion können verwendet werden.
#auch drucken.
_ = PIPE([3,1,2]) \
    >> PIPE(sorted) \
    >> PIPE(reversed) \
    >> PIPE(lambda lst: [l+1 for l in lst]) \
    >> PIPE(list) \
    >> PIPE(print) # [4, 3, 2]

sample2

##Wenn Sie das Format mit Druck verwenden möchten.
_ = PIPE({"K0":1, "K1":2}) \
    >> PIPE(lambda d: sum([v for k,v in d.items()])) \
    >> PIPE(lambda s: "sum is {}".format(s)) \
    >> PIPE(print) # sum is 3

sample3

_ = PIPE({"K0":1, "K1":2}) \
    >> PIPE(lambda d: {k:v+1 for k,v in d.items()}) \
    >> PIPE(lambda d: {k.replace("K", "KEY"): v for k,v in d.items()}) \
    >> PIPE(print) # {'KEY0': 2, 'KEY1': 3}

Zusammenfassung

Recommended Posts

Probieren Sie eine funktionale Programmierpipe in Python aus
Funktionsprogrammierung in Python Project Euler 1
Funktionale Programmierung in Python Project Euler 3
Funktionsprogrammierung in Python Project Euler 2
Programmieren mit Python
Versuchen Sie, ein SYN-Paket in Python zu senden
Versuchen Sie, eine einfache Animation in Python zu zeichnen
Versuchen Sie gRPC in Python
Python-Programmierung mit Excel
Probieren Sie 9 Slices in Python aus
Was ist "funktionale Programmierung" und "objektorientiert"? Python Edition
Machen Sie einen Screenshot in Python
Versuchen Sie, ein Python-Modul in C-Sprache zu erstellen
Erstellen Sie eine Funktion in Python
Versuchen Sie, mit einer Shell zu programmieren!
Versuchen Sie, in Python nach einem Profil mit einer Million Zeichen zu suchen
Versuchen Sie, Python mit pybind11 in ein C ++ - Programm einzubetten
Versuchen Sie LINE Notify mit Python
Redis Rohrauskleidung in Python
Lassen Sie uns Yuma in Python 3 implementieren
Zeichne ein Herz in Python
Nehmen Sie Kontakt mit der funktionalen Programmierung in JavaScript oder Python 3 auf
Versuchen Sie, das DeepZoom-Dateiformat .DZI in Python zu erstellen
Python-Programm von "Buch, das schwieriges Programmieren leicht lehrt"
Versuchen Sie, ein neuronales Netzwerk in Python aufzubauen, ohne eine Bibliothek zu verwenden
Versuchen Sie, eine in Python geschriebene Funktion mit Fn Project auszuführen
Versuchen Sie einfach, einen Webhook mit ngrok und Python zu erhalten
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Schreiben Sie eine Dichotomie in Python
GUI-Programmierung in Python mit Appjar
[Python] Verwalten Sie Funktionen in einer Liste
Drücken Sie einen Befehl in Python (Windows)
Erstellen Sie einen DI-Container mit Python
Zeichnen Sie eine Streudiagrammmatrix mit Python
ABC166 in Python A ~ C Problem
Schreiben Sie A * (A-Stern) -Algorithmen in Python
Versuchen Sie es mit LevelDB mit Python (plyvel)
Versuchen wir es mit Fizz Buzz mit Python
Versuchen Sie, Trace in Python zu berechnen
Versuchen Sie den Zugriff auf das SPS-Register in Python
Löse ABC036 A ~ C mit Python
Erste Schritte mit SQLite in einer Programmiersprache
Schreiben Sie ein Kreisdiagramm in Python
Schreiben Sie das Vim-Plugin in Python
Schreiben Sie eine Suche mit Tiefenpriorität in Python
Implementierung eines einfachen Algorithmus in Python 2
Löse ABC037 A ~ C mit Python
Führen Sie einen einfachen Algorithmus in Python aus
Zeichnen Sie ein CNN-Diagramm in Python
Erstellen Sie eine zufällige Zeichenfolge in Python
Versuchen Sie es mit LeapMotion mit Python
Beim Schreiben eines Programms in Python
Versuchen Sie, die Thread-Liste der Nachrichten (Abneigung) mit Python zu erhalten.
Versuchen Sie Python
Programmieren mit Inline-Scripting von Python / JavaScript / VBScript in Automation Anywhere A 2019