Essayez un tube de programmation fonctionnel en Python

Traitement des tuyaux

Envisagez le traitement des canaux dans un langage fonctionnel en Python.

L'idéal est result = [3,1,2] |> sorted |> reversed ## [3,2,1]

la mise en oeuvre

TUYAU de classe d'origine

PIPE.py


# >>Traitement des tuyaux avec
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

#Le lambda et la fonction peuvent être utilisés.
#imprimer aussi.
_ = 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

##Lorsque vous souhaitez utiliser le format avec print.
_ = 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}

Résumé

Recommended Posts

Essayez un tube de programmation fonctionnel en Python
Programmation fonctionnelle dans Python Project Euler 1
Programmation fonctionnelle dans Python Project Euler 3
Programmation fonctionnelle dans Python Project Euler 2
Programmation avec Python
Essayez d'envoyer un paquet SYN en Python
Essayez de dessiner une animation simple en Python
Essayez gRPC en Python
Programmation Python avec Excel
Essayez 9 tranches en Python
Qu'est-ce que la «programmation fonctionnelle» et «orientée objet»? Édition Python
Prendre une capture d'écran en Python
Essayez de créer un module Python en langage C
Créer une fonction en Python
Essayez de programmer avec un shell!
Essayez de rechercher un profil d'un million de caractères en Python
Essayez d'incorporer Python dans un programme C ++ avec pybind11
Essayez LINE Notify avec Python
Doublure de pipe Redis en Python
Implémentons Yuma dans Python 3
Dessinez un cœur en Python
Entrez en contact avec la programmation fonctionnelle en JavaScript ou Python 3
Essayez de créer le format de fichier DeepZoom .DZI en Python
Programme Python du "Livre qui enseigne facilement la programmation difficile"
Essayez de créer un réseau de neurones en Python sans utiliser de bibliothèque
Essayez d'exécuter une fonction écrite en Python à l'aide de Fn Project
Essayez simplement de recevoir un webhook avec ngrok et Python
Probablement dans un serpent Nishiki (Titre original: Peut-être en Python)
Ecrire une dichotomie en Python
Programmation GUI en Python avec Appjar
[python] Gérer les fonctions dans une liste
Appuyez sur une commande en Python (Windows)
Créer un conteneur DI avec Python
Dessinez une matrice de diagramme de dispersion avec python
ABC166 en Python A ~ C problème
Ecrire des algorithmes A * (A-star) en Python
Essayez d'utiliser LevelDB avec Python (plyvel)
Essayons Fizz Buzz avec Python
Essayez de calculer Trace en Python
Essayez l'accès au registre PLC en Python
Résoudre ABC036 A ~ C avec Python
Démarrez avec SQLite dans un langage de programmation
Ecrire un graphique à secteurs en Python
Ecrire le plugin vim en Python
Écrire une recherche de priorité en profondeur en Python
Implémentation d'un algorithme simple en Python 2
Résoudre ABC037 A ~ C avec Python
Exécutez un algorithme simple en Python
Dessinez un diagramme CNN en Python
Créer une chaîne aléatoire en Python
Essayez d'utiliser LeapMotion avec Python
Lors de l'écriture d'un programme en Python
Essayez d'obtenir la liste des fils du bulletin d'information (je n'aime pas) avec Python.
Essayez Python
Programmation avec scripts en ligne de Python / JavaScript / VBScript dans Automation Anywhere A 2019