Il y a quelques jours, dans le groupe d'échange de diamants Python, un fan nommé [emerson] a posé une question sur le tri Python. Je vais la partager avec vous et apprendre ensemble.
En fait, [Professeur Yu Liang], [Eternity in Budapest] et d'autres ont beaucoup parlé ici, mais c'est quand même un peu difficile pour des amis qui ne sont pas très bons en bases. Cependant, la fonction intégrée sorted() est encore beaucoup utilisée dans les applications pratiques, j'en parlerai ici séparément, j'espère que la prochaine fois que mes amis la rencontreront, ils ne paniqueront pas.
La fonction intégrée sorted() peut être utilisée pour le tri. L'utilisation de base est très simple. Prenons un exemple, comme indiqué ci-dessous.
lst = [3, 28, 18, 29, 2, 5, 88]result = sorted(lst)print(result)
Une fois le programme exécuté, vous pouvez voir que la liste est triée par ordre croissant commander du petit au grand.
Si vous souhaitez qu'il soit trié dans l'ordre inverse, c'est très simple, il suffit d'ajouter un paramètre inverse.
lst = [3, 28, 18, 29, 2, 5, 88]result = sorted(lst, reverse=True)print(result)
La liste que nous avons rencontrée ci-dessus ( Iterator) est un type numérique très simple si vous rencontrez un itérateur plus complexe et devez le trier, comme dans l'exemple suivant :
lst = [ {"id": 1, "name" : "Luban", "age. ": 18}, {"id": 2, "name": "Maître Luban", "age": 26}, {"id": 3, "name": "Maître Lu", "age": 23} , {"id": 4, "name": "Di Renjie", "age": 48}]# Triez les héros selon l'âge, par ordre croissant
Pour un itérateur comme celui-ci ou Si vous souhaitez trier les itérés objets, vous devez utiliser une méthode personnalisée pour les trier. Cela peut également être fait en utilisant la fonction intégrée sorted(). L'utilisation de sorted() est la suivante.
Il a trois paramètres au total. Le premier paramètre est un objet itérable, tel qu'une liste, un dictionnaire, un ensemble, etc. ; le deuxième paramètre fait référence à la règle de tri (fonction de tri), qui sera Chaque élément. dans l'objet itérable passé au paramètre de cette fonction est trié en fonction du résultat de l'opération de la fonction ; le troisième paramètre est inverse, s'il est vrai, cela signifie ordre inverse, s'il est faux, cela signifie ordre avant.
Donc pour cette question, vous pouvez utiliser le code suivant pour trier :
sorted(lst, key=lambda x: x.get('age'))
La clé est une fonction anonyme personnalisée par vous-même, qui sert à préciser les règles de tri Ici, il s'agit de prendre l'âge dans le dictionnaire, puis selon la taille de l'âge Pour trier, le résultat est comme indiqué ci-dessous.
Que devez-vous faire si vous souhaitez supprimer des héros âgés de plus de 28 ans ?
Il s'agit d'une extension, vous pouvez également utiliser des fonctions intégrées pour le faire, mais la fonction intégrée est utilisée voici filter() , le code est le suivant :
list(filter(lambda x: x['age'] >= 28, lst))
Récemment, de nombreux amis posent des questions sur les points de connaissance de la copie profonde et superficielle de Python. Voici une information compilée hier. Je le partagerai avec vous ici. Je pose souvent des questions d'entretien et je m'encourage mutuellement.
Bonjour à tous, je suis une personne avancée en Python. Cet article partage principalement le problème de tri de la fonction intégrée de Python sorted() et fournit des analyses spécifiques et des démonstrations de code pour aider les fans à résoudre le problème en douceur.
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!