Le tri est une technique pour réorganiser les éléments ou les données dans l'ordre croissant ou l'ordre descendant. Dans Python Programming, nous pouvons faire le tri très facilement avec l'aide des méthodes tri () et tri ().
Les méthodes triés () et tri () organisent les éléments en ordre ascendant ou décroissant. Même les deux effectuent les mêmes opérations, mais ils sont toujours différents.
Pour ces tutoriels, les utilisateurs doivent avoir des idées de base sur la liste, les tuples et les ensembles. Nous utiliserons certaines opérations de base de ces structures de données pour montrer une image claire de type () et des méthodes intégrées triées (). Et pour cela, j'utilise Python3, donc si vous utilisez Python2, alors il pourrait y avoir une certaine différence de sortie.
Tri ():
La syntaxe pour la fonction triée () est:
trié (itérable, clé, revers = false)Nous allons implémenter le tri sur les données de chaîne et d'entier en utilisant la méthode intégrée triée ().
La fonction triée () acceptera un itérable et renverra les éléments itérables triés, qui seront dans l'ordre croissant par défaut. Par défaut, la fonction triée () organise des éléments dans l'ordre croissant car le revers = false.
Numéros de tri
Dans le nombre de cellules [4]: Nous avons créé une liste numérique de numéros de noms.
Dans le nombre de cellules [5]: Nous avons appelé la fonction triée () et passé la liste numérique (nombres) dans ce. Nous avons obtenu la liste triée en retour, qui est également une nouvelle liste. La nouvelle liste signifie que la liste originale que nous avons transmise dans le tri () en tant que paramètre est inchangée. À partir du numéro de cellule [6], nous confirmons que la liste d'origine est inchangée même après que le tri () s'applique.
La fonction triée () a les propriétés suivantes:
Nous pouvons également attribuer les résultats triés () à une nouvelle variable comme indiqué ci-dessous:
Dans le nombre de cellules [13]: Nous avons créé une liste numérique de numéros de noms. Nous avons appelé la fonction triée () et passé la liste numérique (nombres) dans ce.
Ensuite, nous avons attribué le résultat de la fonction triée () à une nouvelle variable Sort_Results pour une utilisation ultérieure.
Appliquer tri () sur les tuples et les ensembles:
La fonction triée () fonctionne également sur les tuples et les ensembles pour trier les éléments.
Dans le nombre de cellules [15]: Nous avons créé un tuple (num_tuple) et set (num_sets).
Dans le nombre de cellules [18]: Nous avons appelé la fonction triée et attribué les résultats de retour aux nouvelles variables (Tuple_sorted et set_sorted). Nous avons ensuite imprimé les résultats et obtenu les données triées. Mais les résultats sont dans le format de la liste, pas dans le format de tuples et de définition lorsque nous avons passé les paramètres car, par défaut, le tri renvoie les résultats dans le format de liste. Donc, si nous voulons obtenir les résultats dans le même format (ensembles et tuples), nous devons utiliser un casting.
Dans le nombre de cellules [22]: Nous pouvons voir à partir de la sortie, se traduit désormais dans le format du tuple et réglé comme nous nous attendions parce que lors de l'appel à la fonction triée (), nous avons également appliqué l'opérateur de fonte, qui convertit la liste au format requis.
Triage de tri
Maintenant, nous allons appliquer la fonction triée () sur la liste des chaînes, comme indiqué ci-dessous. Vous verrez qu'avant de passer la chaîne à la fonction triée (), nous utilisons la méthode Split () quel paramètre de format par défaut est l'espace (Split by Space). La raison derrière cela est d'obtenir toute la chaîne en tant que liste mais de diviser toute la chaîne lorsque l'espace vient. Si nous ne faisons pas comme ci-dessous, alors toute la chaîne sera divisée en termes de caractère et n'obtiendra pas la sortie correcte comme nous le désirons.
Ainsi, si nous n'utilisons pas la méthode Split () pendant la chaîne triée (), nous obtiendrons les résultats comme ci-dessous:
Vous pouvez voir que toute la chaîne lorsque nous sommes passés à la fonction triée (), renvoie la liste des caractères. Maintenant, les résultats ne sont pas selon nos exigences.
Donc, pour surmonter ce problème, nous devons diviser () la chaîne comme indiqué ci-dessous. Nous divisons la chaîne ici avec l'espace parce que nous avons un caractère majeur d'espace qui sépare les cordes. Mais ce n'est pas une restriction; Vous pouvez utiliser n'importe quel formateur à l'intérieur de la méthode Split () en fonction de vos positions de chaîne.
Dans le nombre de cellules [27]: Nous initialisons une chaîne, puis divisons cette chaîne de l'espace en tant que format divisé. Et nous obtenons la liste de chaque chaîne de toute la chaîne au lieu des caractères de la chaîne.
Dans le nombre de cellules [28]: Nous appelons la fonction triée () et passons que str_value_list comme paramètre.
Dans le nombre de cellules [29]: Nous imprimons enfin la liste de chaînes triée renvoie par la fonction triée (). Dans la cellule [30], nous imprimons à nouveau la liste originale pour confirmer que la liste originale n'est pas modifiée par la fonction triée ().
Tri avec l'argument inversé = vrai
Maintenant, nous allons modifier le paramètre par défaut de la fonction triée () de false à true. Lorsque nous modifions la valeur de l'inverse de false à vrai, alors la fonction triée () trie les données dans l'ordre descendant.
Dans la cellule [3]: Nous avons créé une liste entière de numéros de noms.
Dans la cellule [4]: Nous passons la liste (nombres) à la fonction triée (). Parallèlement à cela, nous avons changé l'inverse = vrai. En raison de l'inverse = true, nous avons obtenu les données dans l'ordre descendant.
Dans la cellule [5]: Nous imprimons la liste originale pour confirmer qu'elle n'a pas changé la liste originale.
Le tri du cas de chaîne est importante
Le Python utilise le code Unicode pour déterminer le premier caractère de la chaîne avant de trier l'ordre descendant ou ascendant. De sorte que la fonction triée () traitera le petit cas et les caractères de cas de capital différent même si le même, comme une valeur ou une valeur, sera différent comme indiqué ci-dessous:
Donc, pour comprendre cela, nous écrivons à nouveau un petit programme de tri de cordes.
Dans la cellule [6]: Nous avons créé une liste de noms de chaîne avec tous les premiers caractères Capital.
Dans la cellule [7]: Lorsque nous avons trié le nom de noms, nous avons obtenu le résultat souhaité.
Dans la cellule [8]: Lorsque nous modifions le premier caractère de Harman en Harman et Apple en Apple et trier à nouveau la liste, nous avons obtenu un résultat inattendu car le résultat montre que la chaîne Apple en 3e position dans la liste qui devrait en fait être en position 1er dans le index de liste. Cela se fait à cause du code Unicode que Python a utilisé pour vérifier leur valeur.
Dans la cellule [11]: Nous imprimons le premier nom de caractère avec leur valeur.
tri () en utilisant le paramètre clé
La fonction triée () a une fonctionnalité plus puissante qui est l'argument clé. Cette clé s'attend à une fonction, et chaque élément de la liste doit passer à cette clé avant de générer la sortie finale.
Nous pouvons comprendre cela à partir de cet exemple de base de tri de chaînes. Dans le précédent, nous avons constaté que Python a utilisé la méthode Unicode pour déterminer la première valeur de caractère, puis, selon cela, il trie les éléments. Nous pouvons surmonter cela en utilisant les caractéristiques clés, et notre résultat sera selon nos attentes.
Maintenant, nous pouvons voir que d'après le résultat, même si le premier caractère est petit ou capital, nous obtenons des résultats en fonction de nos attentes parce que la clé que nous passons convertit chaque élément en un petit cas avant d'aller au tri. Pourtant, la valeur d'origine sera imprimée comme nous l'avons vu.
Fonction Sult ()
La syntaxe de la fonction tri () est
liste.tri (clé, revers = false)La principale différence entre la fonction tri () et tri () est:
Dans la cellule [18], Nous pouvons voir que la méthode tri () fait partie de la liste et non une méthode intégrée. La méthode tri () ne fonctionne pas non plus avec les tuples et les ensembles. La méthode tri () ne fonctionne qu'avec la liste car elle fait partie de la classe de liste.
Nous avons créé une nouvelle liste et appelé la méthode tri () comme nous appelons le tri (), mais nous avons eu une erreur parce que, comme nous l'avons dit précédemment, ce n'est pas une méthode intégrée.
Nous pouvons appeler cela uniquement en utilisant la liste avec l'opérateur de points comme indiqué ci-dessus dans la syntaxe.
Nous appelons donc à nouveau la méthode tri () avec la liste (nombres), et nos données ont été organisées par ordre croissant car par défaut inverse = false. Mais lorsque nous imprimons la liste originale dans le numéro de cellule [28], nous avons constaté que la liste originale a également changé car la méthode tri () ne renvoie pas un itérable.
Conclusion:
Donc, nous avons étudié les méthodes tri () et tri (). Nous avons également vu que la méthode tri () n'est pas une méthode intégrée car c'est une classe de liste et ne peut accéder qu'à l'objet de liste. Mais la méthode triée () est intégrée et peut également fonctionner avec le tuple et les ensembles.