Python Advanced use Summary (8) - functional Programming

Wx614070971eedb 2021-09-15 09:52:44
python advanced use summary functional


PythonPrise en charge hybride de plusieurs paradigmes de programmation,Pour la programmation fonctionnelle,PythonOffre un ensemble complet d'outils pour la programmation fonctionnelle,Par exemple:map、filterEtreduceAttendez..

Un.、Cartographie des fonctions sur des objets itérables-map

Comme la simple mise en œuvre d'une liste,Ajouter à chaque élément de la liste10.Peut être utilisé simplementfor.Boucle pour mettre à jour tous les chiffres d'une liste:

 

  •  
li = [1,2,3,4,5]up = []for x in li: up.append(x+10)print(up)
  • 1.
  • 1.
  • 1.
  • 1.
  • 1.

PythonLes résultats sont les suivants::

PythonRésumé de l'utilisation avancée(8)-Programmation fonctionnelle_forCycle

Si vous utilisezmapMise en œuvre de la fonction,map La fonction peut appliquer la fonction passée à chaque élément d'un objet itérable , Et vous pouvez retourner une liste contenant les résultats de tous ces appels de fonctions ,Le code suivant:

  •  
li = [1,2,3,4,5]def inc(x): return(x+10)print(list(map(inc, li)))
  • 1.
  • 1.
  • 1.
  • 1.

PythonLes résultats sont les suivants::

PythonRésumé de l'utilisation avancée(8)-Programmation fonctionnelle_Itération_02

Le code ci - dessus peut également être amélioré , Je vous ai déjà présenté lambdaFonctions,Tu te souviens?, Il peut implémenter des fonctions anonymes ,Ceci est lié àmap Les besoins coïncident . Afficher la définition ici inc La fonction n'est pas nécessaire , Il suffit de donner mapPasse - en un.lambda Une fonction anonyme suffit :

  •  
li= [1,2,3,4,5]print(list(map((lambda x:x+10),li)))
  • 1.
  • 1.

PythonLes résultats sont les suivants::

PythonRésumé de l'utilisation avancée(8)-Programmation fonctionnelle_forCycle_03

2.、Filtre-Filter

filter La fonction permet de sélectionner les éléments d'un objet itérable , C'est - à - dire que la mise en oeuvre équivaut à “Filtre”Ou“Sélecteur”La fonction de. Comme le code suivant implémente le filtrage de la liste supérieure à 0 Fonction de l'élément :

  •  
print(list(range(-5,5)))print(list(filter((lambda x: x>0),range(-5,5))))
  • 1.
  • 1.

Comme le montre la figure ci - dessous ,filterFonctions La fonction de filtre peut être réalisée , La condition de filtrage est la fonction reçue par le premier paramètre .

Bien sûr, vous pouvez aussi utiliserfor Boucle plus ifDéclaration conditionnelle, Pour obtenir le même effet de filtrage :

PythonRésumé de l'utilisation avancée(8)-Programmation fonctionnelle_Itération_04

Trois、Processeur-Reduce

  •  
from functools import reduceprint(reduce((lambda x,y:x+y),[1,2,3,4]))
  • 1.
  • 1.

 

PythonRésumé de l'utilisation avancée(8)-Programmation fonctionnelle_Programmation fonctionnelle_05

 

 

版权声明
本文为[Wx614070971eedb]所创,转载请带上原文链接,感谢
https://pythonmana.com/2021/09/20210915095041125I.html

  1. 面对小白的pandas命令手册+练习题【三万字详解】
  2. 面對小白的pandas命令手册+練習題【三萬字詳解】
  3. Face au Manuel de commande pandas de Xiaobai + question d'exercice [30 000 mots pour plus de détails]
  4. Interprétation des questions d'entrevue de base Python | 100 couches d'entrevue Python | couche 1
  5. Python data structure and algorithm (17) -- merge sort
  6. Les fonctions intégrées Python exécutent des blocs de code de fonction à travers des chaînes, et les mécanismes de réflexion comme Java sont assez puissants!
  7. Python笔记-uiautomator2截图点击,OpenCV找图
  8. Python文档阅读笔记-OpenCV中Template Matching
  9. Python笔记-利用OpenCV的matchTemplate屏幕找图并使用pyautogui点击
  10. Python筆記-利用OpenCV的matchTemplate屏幕找圖並使用pyautogui點擊
  11. Notes python - utilisez l'écran matchtemplate d'OpenCV pour trouver des images et cliquez sur
  12. Notes de lecture de documents python - Matching de modèles dans OpenCV
  13. Notes python - capture d'écran de l'automate 2 Cliquez pour ouvrir la vue
  14. python链接云服务器的mysql8
  15. python鏈接雲服務器的mysql8
  16. Mysql8 pour les serveurs Cloud liés Python
  17. Python资源大集合,要的话可以拿走!
  18. ️万字【Python基础】保姆式教学️,小白快速入门Python!
  19. ️萬字【Python基礎】保姆式教學️,小白快速入門Python!
  20. Wanzi [base Python] Baby - sitting Teaching, Little White Quick Start Python!
  21. Realizing the function of sending e-mail automatically with Python
  22. Smtpauthenticationerror in Python: solution
  23. 8 steps to teach you how to solve Sudoku in Python! (including source code)
  24. Python change la vie | identifier facilement des centaines de numéros de livraison
  25. Python change life | utilisation de modèles reconnus par ocr
  26. Bibliothèques Python utiles et intéressantes - - psutil
  27. 3. Traitement des données pandas
  28. 【Python编程基础】控制流之链式比较运算符
  29. MFC uses Python scripting language
  30. 【Python編程基礎】控制流之鏈式比較運算符
  31. 【 base de programmation python】 opérateur de comparaison de chaîne pour le flux de contrôle
  32. Python game development, pyGame module, python implementation of Xiaole games
  33. Mise en œuvre du Code de vérification unique (OTP) avec le cadre de repos Django
  34. Python - eval ()
  35. Python - Programmation orientée objet - _Rapport()
  36. Différence entre python - rep (), Str ()
  37. Python - Programmation orientée objet - _Appel()
  38. Python calling matlab script
  39. Python - Programmation orientée objet - _Nouveau() et mode Singleton
  40. Python - Programmation orientée objet - méthode magique (méthode de double soulignement)
  41. Python - Programmation orientée objet - pratique (6)
  42. Python - Programmation orientée objet - réflexion hasattr, GetAttr, GetAttr, delattr
  43. Python - Programmation orientée objet - _Dict
  44. Python - pydantic (2) Modèle imbriqué
  45. Non-ASCII character ‘\xe5‘ in file kf1.py on line 4, but no encoding declared; see http://python.or
  46. python笔记(一)
  47. Non - ASCII character 'xe5' in file kf1.py on Line 4, but no Encoding declared;Voirhttp://python.or
  48. Notes Python (1)
  49. Talk about how JMeter executes Python scripts concurrently
  50. In Beijing, you can't see the moon in the Mid Autumn Festival. Draw a blood red moon in Python
  51. Un des pandas crée un objet
  52. Machine learning | unitary regression model Python practical case
  53. Draw a "Lollipop chart" with Excel and python
  54. Python uses scikit learn to calculate TF-IDF
  55. Getting started with Python Basics_ 3 conditional statements and iterative loops
  56. Python dynamic properties and features
  57. 云计算开发:Python内置函数-min()函数详解
  58. [Python skill] how to speed up loop operation and numpy array operation
  59. 雲計算開發:Python內置函數-min()函數詳解
  60. Développement de l'informatique en nuage: explication détaillée de la fonction intégrée python - min ()