程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Six fonctions intégrées en python

編輯:Python

Nous partagerons en une seule fois6Des fonctions intégrées qui peuvent être appelées immortelles.Dans beaucoup de livres informatiques,Ils agissent aussi souvent commeFonction d'ordre supérieurPour présenter.Et moi - même dans mon travail quotidien,Ils sont souvent utilisés pour accélérer le Code,Plus facile à comprendre.

Lambda Fonctions

LambdaFonction pour créer une fonction anonyme,C'est - à - dire une fonction sans nom.C'est juste une expression,Rapport de volume de la fonctiondefC'est beaucoup plus simple..Quand nous avons besoin de créer une fonction pour effectuer une seule opération et que nous pouvons écrire en une seule ligne,Vous pouvez utiliser des fonctions anonymes.

lambda [arg1 [,arg2,.....argn]]:expression

lambdaLe corps de est une expression,Au lieu d'un bloc de code.Seulement danslambdaEncapsulation d'une logique finie dans une expression.Par exemple:

lambda x: x+2

Si on imagine aussidefLes fonctions définies sont appelées à tout moment,Vous pouvezlambdaFonctionsAssigner à un tel objet de fonction.

add2 = lambda x: x+2
add2(10)

Résultats obtenus:

UtilisationLambdaFonctions, Vous pouvez simplifier le Code beaucoup , Un autre exemple concret .

Comme le montre la figure ci - dessus,Liste des résultatsnewlistEst d'utiliserlambda Fonction générée avec une ligne de code .

Map Fonctions

map() La fonction mappe une fonction à tous les éléments d'une liste d'entrées .

map(function,iterable)

Par exemple, nous avons d'abord créé une fonction pour renvoyer un mot d'entrée majuscule , Ensuite, cette fonction devrait être dans la liste colorsTous les éléments de.

def makeupper(word):
    return word.upper()
colors=['red','yellow','green','black']
colors_uppercase=list(map(makeupper,colors))
colors_uppercase

Résultats obtenus:

En outre,On peut encore utiliserFonction anonymelambdaPour correspondremapFonctions, Cela pourrait être plus simple .

colors=['red','yellow','green','black']
colors_uppercase=list(map(lambda x: x.upper(),colors))
colors_uppercase

Si on n'avait pas àMapLes mots de la fonction,Il faut l'utiliser.forCycle.

Comme le montre la figure ci - dessus,Dans la pratiqueMap La fonction sera plus for La méthode de rotation des éléments de liste séquentielle est rapide 1.5X.

ReduceFonctions

Quand vous devez faire quelques calculs sur une liste et retourner les résultats,reduce()C'est une fonction très utile.Par exemple,, Quand il faut calculer le produit de tous les éléments d'une liste entière ,Prêt à l'emploireduceMise en œuvre de la fonction.[1]

Elle est liée àmap La plus grande différence entre les fonctions est ,reduce() Fonction de cartographie dans (function)Recevoir deux paramètres,EtmapRecevoir un paramètre.

reduce(function, iterable[, initializer])

Ensuite, nous allons utiliser des exemples pour démontrer reduce() Procédure d'exécution du Code pour .

from functools import reduce
def add(x, y) :   # Ajouter deux nombres
    return x + y
numbers = [1,2,3,4,5]
sum1 = reduce(add, numbers)   # Liste de calcul et

Obtenir des résultatssum1 = 15, Le processus d'exécution du Code est indiqué dans le diagramme de mouvement suivant .

▲ Diagramme du processus d'exécution du Code

En combinaison avec l'image ci - dessus, nous pouvons voir ,reduce Ajouter une fonction add() Fonctionne sur une liste [1,2,3,4,5]Allez., La fonction de cartographie a reçu deux arguments ,reduce() Continuez à additionner les résultats avec l'élément suivant de la liste .

En outre,Nous pouvons également utiliserFonction anonymelambdaPour correspondrereduceFonctions, Cela pourrait être plus simple .

from functools import reduce
numbers = [1,2,3,4,5]
sum2 = reduce(lambda x, y: x+y, numbers)

Obtenir des résultatssum2= 15, En accord avec les résultats précédents .

Attention requise:Python3.xC'est parti.reduce()A été déplacé versfunctoolsDans le module[2],Si on doit utiliser,J'en ai besoin.from functools import reduceImporter.

enumerate Fonctions

enumerate()Fonction utilisée pour mettre un objet de données ergodique(Comme la Liste、Tuple ou chaîne)Combiner en une séquence d'index,Liste des données et des indices de données,Généralement utiliséforEn boucle.Sa syntaxe est la suivante::

enumerate(iterable, start=0)

Ses deux paramètres,L'un est une séquence.、Itérateur ou autre objet supportant l'itération; L'autre est la position de départ de l'indice , Par défaut à partir de 0C'est parti., Vous pouvez également personnaliser le numéro de départ du compteur .

colors = ['red', 'yellow', 'green', 'black']
result = enumerate(colors)

Si on avait un magasin colorsListe des couleurs pour, Après l'opération, on obtient un enumerate(Enumeration) Objet.Il peut être directementforUtilisation en boucle, Peut également être converti en liste ,L'utilisation spécifique est la suivante.

for count, element in result:
    print(f" Numéro d'itération :{count},Éléments correspondants:{element}")

Zip Fonctions

zip()La fonction est utilisée pour prendre un objet itérable comme paramètre,Emballer les éléments correspondants de l'objet en tuples,Puis retournez à la liste de ces tuples[3].

Nous utilisons encore deux listes comme exemples :

colors = ['red', 'yellow', 'green', 'black']
fruits = ['apple', 'pineapple', 'grapes', 'cherry']
for item in zip(colors,fruits):
    print(item)

Résultats obtenus:

Quand on utilisezip()Fonction,Si le nombre d'éléments dans chaque Itérateur est incohérent,La longueur de la liste de retour est la même que celle de l'objet le plus court.

prices =[100,50,120]
for item in zip(colors,fruits,prices):
    print(item)

Filter Fonctions

filter()Fonction utilisée pour filtrer les séquences,Filtrer les éléments non admissibles,Retour à une nouvelle liste d'éléments admissibles,Sa syntaxe est la suivante[4].

filter(function, iterable)

Par exemple, Nous pouvons d'abord créer une fonction pour déterminer si les données sont impaires ,Ensuite, utilisezfilter() La fonction filtre tous les nombres impairs de la liste :

def is_odd(n):
    return n % 2 == 1
old_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_list = filter(is_odd, old_list)
print(newlist)

Résultats obtenus:


Ce que j'ai partagé aujourd'hui6Fonctions intégrées,En service Python Très pratique pour l'analyse de données ou d'autres tâches complexes d'automatisation .

Références

[1]

Les livres: Presse de l'industrie mécanique-《PythonBase de programmation》

[2]

Tutoriel débutant: https://www.runoob.com/python/python-func-reduce.html

[3]

Tutoriel débutant: https://www.runoob.com/python/python-func-zip.html

[4]

towardsdatascience: https://towardsdatascience.com/


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved