Essayez de créer foldl et foldr avec Python: lambda. Aussi mesure du temps

Exercices en commençant à toucher Python. Essayer. foldl,foldr

box=lambda *x:x
unbox=lambda x:x[-1]
do=box
switch=unbox

foldl=(lambda f,acc,xs:
	switch(
		xs == [] and do( acc )
		or 		do( foldl(f, f(acc, xs[0]), xs[1:]) )
	)
)

foldr=(lambda f,xs,acc:
	switch(
		xs == [] and 	do( acc )
		or 		do( foldr(f, xs[:-1], f(xs[-1], acc)) )
	)
)

l'a fait. Je peux aller droit et manquer le rythme. Non, c'était incroyable la mise en conserve du livre H. Très très seul ...

Outil d'auto-mesure

Comparez-le avec la réduction ou la somme d'origine. Il semble que timeit puisse être utilisé, mais je ne savais pas quoi faire sur IDLE, donc je vais essayer de créer mon propre outil de mesure. Eh bien, ce sera un peu de pratique.

import time

measure_t=(lambda f , *arg :
	(lambda m_start = time.time() ,
		 m_stop = time.time :
			( f( *arg),
			m_stop() - m_start ,
			)[-1]
	 )()
   )

l'a fait. Petit s'adapte au moment de l'exécution de la fonction.

Il semble qu'il sera utilisé même s'il est fait correctement.

Je l'ai mesuré.

>>> measure_t(foldl,lambda x,y:x+y,0,range(1,100))
0.00026679039001464844
>>> measure_t(foldr,lambda x,y:x+y,range(1,100),0)
0.000247955322265625
>>> measure_t(reduce,lambda x,y:x+y,range(100))
7.605552673339844e-05
>>> measure_t(sum,range(100))
6.198883056640625e-06

Il est bon d'utiliser les fonctions intégrées aussi silencieusement que possible. Cela signifie t-il ...

c'est tout.

Recommended Posts

Essayez de créer foldl et foldr avec Python: lambda. Aussi mesure du temps
Fractal pour faire et jouer avec Python
Essayez de créer un code de "décryptage" en Python
Essayez de créer un groupe de dièdre avec Python
WEB grattage avec python et essayez de créer un nuage de mots à partir des critiques
Faisons un outil de veille de commande avec python
Essayez le fonctionnement de la base de données avec Python et visualisez avec d3
Créez des tweets ordinaires comme une flotte avec AWS Lambda et Python
Mesure du temps d'exécution avec Python avec
Essayez de le faire avec GUI, PyQt en Python
[AWS] Essayez d'ajouter la bibliothèque Python à la couche avec SAM + Lambda (Python)
Essayez d'ouvrir une sous-fenêtre avec PyQt5 et Python
J'ai essayé de créer une interface graphique à trois yeux côte à côte avec Python et Tkinter
Essayez d'exploiter Facebook avec Python
[Apprentissage automatique] Essayez d'exécuter Spark MLlib avec Python et faites des recommandations
Comment créer une caméra de surveillance (caméra de sécurité) avec Opencv et Python
J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python
Essayez d'afficher la carte google et la carte géographique avec python
Jetez quelque chose dans Kinesis avec python et assurez-vous qu'il est dans
Essayez de créer un logiciel de capture aussi précis que possible avec python (1)
[Python] Essayez de reconnaître les caractères des images avec OpenCV et pyocr
Essayez de reproduire un film couleur avec Python
Essayez de vous connecter à qiita avec Python
Connectez-vous à s3 avec AWS Lambda Python
Essayez d'attribuer ou de changer avec Python: lambda
[TCP / IP] Après avoir étudié, essayez de créer un client HTTP avec Python
Mettez Cabocha 0.68 dans Windows et essayez d'analyser la dépendance avec Python
Défi pour créer un rapport de liste de l'axe des temps avec l'API Toggl et Python
Essayez de convertir les coordonnées de latitude / longitude et du monde entre elles avec python
Comment obtenir la différence de date et d'heure en secondes avec Python
Essayez de créer un logiciel de capture aussi précis que possible avec python (2)
Essayez de créer votre propre AWS-SDK avec bash
J'ai essayé de faire un processus périodique avec CentOS7, Selenium, Python et Chrome
MessagePack-Try pour lier Java et Python avec RPC
Essayez d'exécuter Google Chrome avec Python et Selenium
Essayez de résoudre le diagramme homme-machine avec Python
Essayez de dessiner une courbe de vie avec python
Je veux faire un jeu avec Python
Essayez de communiquer avec EV3 et PC! (MQTT)
mesure du temps python
Essayez de générer automatiquement des documents Python avec Sphinx
Exemple de notification Slack avec python lambda
Comment mesurer le temps d'exécution avec Python Partie 1
Exporter un instantané RDS vers S3 avec Lambda (Python)
Télécharger des fichiers sur Google Drive avec Lambda (Python)
Essayez de rendre le client FTP le plus rapide avec Pythonista
Pour représenter la date, l'heure, l'heure et les secondes en Python
Essayez de détecter les poissons avec python + OpenCV2.4 (inachevé)
Comment mesurer le temps d'exécution avec Python, partie 2
[# 1] Créez Minecraft avec Python. ~ Recherche préliminaire et conception ~
[Python] Convertit l'affichage de l'heure (type str) en utilisant "" "et" '"en secondes (type float) avec datetime et timedelta
Essayez d'exécuter Schedule pour démarrer et arrêter des instances dans AWS Lambda (Python)
Filtrer, mapper, réduire avec js et python (il existe également des expressions de flèche, des expressions lambda et des expressions d'inclusion)
Convertir la date et l'heure zonées en temps Unixtime dans Python2.7
Extraire "date actuelle uniquement" et "date et heure actuelles" avec python datetime.
Procédure pour charger MNIST avec python et sortie en png
Essayez de résoudre le livre des défis de programmation avec python3
Essayez de créer un module Python en langage C
Je veux gérer l'optimisation avec python et cplex
Expliquez en détail comment créer un son avec python