L'histoire de l'utilisation de la réduction de Python

Dans les langages fonctionnels, il existe des fonctions telles que foldr et foldl qui effectuent un traitement qui réduit une sorte de tableau. Donc, récemment, je me suis demandé s'il y avait une implémentation similaire en Python, mais j'ai réalisé qu'il y avait quelque chose appelé reduse.

Par exemple, si vous voulez garantir que tout est vrai dans un tableau composé uniquement de booléens, si vous n'utilisez pas de reduse, vous pouvez vous retrouver avec le style d'écriture sale suivant.

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])

Si vous réécrivez ceci pour réduire, cela aura l'air rafraîchissant comme ci-dessous.

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])

Cependant, la substance de réduire semble être pliable, donc si vous voulez fonctionner comme un foldr, vous devez en concevoir un peu.

Recommended Posts

L'histoire de l'utilisation de la réduction de Python
Une histoire rafraîchissante sur Slice en Python
Une histoire de mauvaise humeur sur Slice en Python
Une histoire sur l'apprentissage automatique simple avec TensorFlow
Histoire de l'utilisation du jeton logiciel de Resona avec 1Password
Une histoire sur l'installation de matplotlib à l'aide de pip avec une erreur
En savoir plus sur la journalisation à l'aide du module de journalisation de Python ①
Une histoire sur un remodelage magique qui met Lubuntu dans un Chromebook
Un mémorandum sur l'utilisation de la fonction d'entrée de Python
Une histoire sur l'apprentissage automatique avec Kyasuket
Une histoire sur Python pop and append
L'histoire de l'abandon d'essayer de se connecter à MySQL en utilisant Heroku
Une histoire addictive lors de l'utilisation de tensorflow sur Android
Une histoire sur l'exploitation d'une instance GCP à partir de Discord
Une histoire accro aux variables globales et à la portée de Go
L'histoire de vouloir afficher des annonces liées à des articles sur Jubatus
Une histoire sur l'implémentation d'un écran de connexion avec django
Une histoire sur l'exécution de Python sur PHP sur Heroku
Une histoire sur la modification de Python et l'ajout de fonctions
Histoire de l'analyse de données par apprentissage automatique
Échapper à l'environnement virtuel de Python ~ Une histoire sur le fait d'être piégé dans un environnement virtuel que j'ai créé ~
Une histoire de prédiction du taux de change avec Deep Learning
L'histoire de la migration de l'intégralité du disque Linux via SSH
Un mémorandum sur Nan.
L'histoire de la création d'une partition de type Hanon avec Python
Une histoire d'essayer un monorepo (Golang +) Python avec Bazel
Une histoire sur un débutant Python essayant d'obtenir des résultats de recherche Google à l'aide de l'API
Une histoire qui reflète l'activité Discord dans Slack Status
Une note sur __call__
Une histoire sur la difficulté à traiter en boucle 3 millions de données d'identification
Essayez d'utiliser Tkinter de Python
Une note sur le sous-processus
Une histoire sur le changement du nom principal de BlueZ
Une note sur mprotect (2)
Une histoire sur un débutant Linux passant LPIC101 en une semaine
Une histoire sur un débutant Linux mettant Linux sur une tablette Windows
Une histoire de trébucher sur PATH après l'installation d'anaconda
(Remarque) Une histoire sur la création d'un système de questions et réponses à l'aide de Spring Boot et de l'apprentissage automatique (SVM).
Apprentissage automatique Une histoire sur des personnes qui ne sont pas familiarisées avec GBDT utilisant GBDT en Python
Créez instantanément un diagramme de données 2D à l'aide de matplotlib de python
Une histoire sur la création d'un système d'exploitation compatible UNIX / Linux à partir de zéro
Une histoire sur la façon de spécifier un chemin relatif en python.
[Python] Chapitre 01-03 À propos de Python (Ecrire et exécuter un programme à l'aide de PyCharm)
Une histoire de compétition avec un ami dans Othello AI Preparation
Une histoire un peu plus profonde sur la blockchain, le monde numérique
Une histoire sur un amateur faisant une rupture de bloc avec python (kivy) ②
Une histoire sur la façon de traiter le problème CORS
Une histoire sur un amateur faisant une rupture de bloc avec python (kivy) ①
Une histoire sur une guerre lorsque deux nouveaux arrivants ont développé une application
Une histoire sur la création d'une courte chanson par hasard avec Sudachi Py
Une histoire de regroupement de données de séries chronologiques d'échange
L'histoire d'un ingénieur directeur de 40 ans qui réussit "Deep Learning for ENGINEER"
Une histoire sur la tentative d'implémentation de variables privées en Python.