Maison > Article > développement back-end > Partage de fonctions intégrées en Python
Python a des fonctions intégrées très intelligentes et puissantes, qui ne sont généralement pas utilisées par les débutants. Je ne l'ai découvert qu'après avoir utilisé Python pendant un certain temps, wow, il y a une tellement bonne chose. , cette fonction est classique et a été strictement testée. Elle peut vous faire économiser beaucoup de choses à la fois. Le code est non seulement concis et facile à lire, mais vous n'avez pas non plus besoin de créer. cela à huis clos. C'est pratique pour vous et réduit les coûts.
1) Pour trier une liste
sorted([100, 98, 102, 1, 40]) >>>[1, 40, 98, 100, 102]
2) Par paramètre/fonction clé
Par exemple, il y a de nombreux éléments de dictionnaire imbriqués dans une longue liste. Nous devons trier en fonction de la longueur de chaque élément
L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}] new_line=sorted(L,key=lambda x:len(x)) print(new_line) >>>[{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]
3) Trier la liste composée. de tuples
Par exemple, ce qui suit est une liste des âges des étudiants
students = [('wang', 'A', 15), ('li', 'B', 12), ('zhang', 'B', 10)] print(sorted(students, key=lambda student : student[2])) >>>[('zhang', 'B', 10), ('li', 'B', 12), ('wang', 'A', 15)]
4) Utilisez la fonction cmp pour trier
students = [('wang', 'A', 15), ('li', 'B', 12), ('zhang', 'B', 10)] print(sorted(students, cmp=lambda x,y : cmp(x[0], y[0])) ) >>>[('li', 'B', 12), ('wang', 'A', 15), ('zhang', 'B', 10)]
En fait, il faut parler attentivement du tri de Python. Il faut un article entier pour parler de son algorithme de tri. Il y a beaucoup de contenu. Si vous êtes intéressé, vous pouvez jeter un œil au code source. pour voir comment il est conçu. Je clique d'abord ici
map peut mapper la séquence spécifiée en fonction de la fonction fournie. et une liste, et applique la fonction f à la liste. Pour chaque élément, elle renvoie ensuite une nouvelle liste Les paramètres d'entrée de la fonction map peuvent également être multiples . . Notez que cette fonction doit avoir une valeur de retour (la valeur est importante) partout).
Sinon, une nouvelle liste sera renvoyée, similaire à [Aucun, Aucun, Aucun, Aucun, Aucun, Aucun, Aucun, Aucun, Aucun] le cas échéant Le scénario nécessite des opérations répétées sur certains éléments de la liste, ce qui peut être facilement réalisé avec map.3.enumerate()En Python,itération est toujours supprimé L'élément lui-même, pas l'index de l'élément. Parfois, nous avons besoin de connaître l'index de l'élément. Par exemple, il y a des noms de sites Web dans une longue liste. Nous espérons que l'index peut également être . répertorié lors de l’impression. S'il n'y a pas une telle fonction, nous devons ajouter une variable et incrémenter la variable count lors de l'impression dans la boucle. Maintenant, avec enumerate, nous n'avons pas à nous donner de tels problèmes, nous pouvons le faire directement.
4.zip()La fonction zip accepte n'importe quelle séquence de nombres (y compris 0 et 1) comme paramètres et renvoie une liste de tuplesx = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) >>print xyzCette fonction est particulièrement utile dans la construction. Elle est très pratique pour dicter des séquences (cette astuce est très astucieuse, vous pouvez soigneusement
la comprendre )
5 .filter()filter La fonction accepte une fonction f et une liste La fonction de cette fonction f est de juger chaque élément et de renvoyer True ou False Cela peutfiltrer certains <.> éléments qui ne remplissent pas les conditions Renvoie ensuite la liste qui remplit les conditions
Surtout lors du traitement des fichiers,def is_even(x): return x%2==0 print(filter(is_even,[1,2,3,4,5])) >>>[2, 4]il faut supprimer certains espaces, retours chariot et caractères vides.
6.reduce()
, réduire est également appelé à plusieurs reprises pour chaque élément, et renvoie enfin la valeur finale, tandis que map renvoie une liste
Notez que
Reduceen python3 a été supprimé de la fonction globale. Si vous devez l'utiliser, veuillez from functools import reduction. Enfin, j'insiste sur l'originalité. Si ce que j'écris convient à tout le monde C'est utile, merci de
encourager, retweeter ou de le suivre, appuyer longuement. pour envoyer le QR code, qui est aussi un petit soutien pour moi.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!