Maison >développement back-end >Tutoriel Python >Explication détaillée de la façon d'utiliser le tri de liste inversé, tri et trié en Python

Explication détaillée de la façon d'utiliser le tri de liste inversé, tri et trié en Python

巴扎黑
巴扎黑original
2017-08-23 09:38:323249parcourir

Il existe trois méthodes de tri de liste dans le langage Python : le tri inverse/inverse, le tri avant et le tri pour obtenir la liste triée. Dans le tri de liste plus avancé, ces deux dernières méthodes peuvent également ajouter des paramètres conditionnels pour le tri. La méthode

reverse()

inverse l'ordre des éléments dans la liste, comme ce qui suit

>>> x = [1,5,2,3,4]
>>> x.reverse()
>>> x
[4, 3, 2, 5, 1]

inverse l'ordre des éléments dans la liste d'origine : Restaurez de gauche à droite sans trier les paramètres dans la liste. Si vous devez trier les paramètres de la liste, vous devez utiliser sort, une autre méthode de tri pour la liste, pour trier dans un ordre positif.

Méthode de tri sort()

Cette méthode fonctionnelle effectue un tri avant du contenu de la liste. La nouvelle liste triée écrasera la liste d'origine (l'identifiant reste inchangé), c'est-à-dire le tri. La méthode de tri consiste à modifier directement la méthode de tri de la liste d'origine.

>>> a = [5,7,6,3,4,1,2]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5, 6, 7]

De nombreux débutants en Python sont confus au sujet de la méthode sort(). Parfois, ils ont besoin d'une liste triée mais souhaitent enregistrer la liste originale non triée. Ils feront ceci :

>>> a = [5,7,6,3,4,1,2]
>>> b = a.sort()
>>> print b
None

À ce moment-là, le problème se pose. La variable b obtient une valeur nulle. Alors, que dois-je faire si je souhaite obtenir la liste triée mais que je souhaite également conserver la liste d’origine ? La méthode list sorted() peut vous aider à y parvenir.

Méthode sorted()

Vous pouvez conserver la liste d'origine et obtenir la liste triée. La méthode d'opération sorted() est la suivante :

>>> a = [5,7,6,3,4,1,2]
>>> b = sorted(a)
>>> a
[5, 7, 6, 3, 4, 1, 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]

sorted(). méthode Peut être utilisée dans n'importe quelle séquence de types de données et renvoie toujours une forme de liste :

>>> sorted('iplaypython.com')
['.', 'a', 'c', 'h', 'i', 'l', 'm', 'n', 'o', 'o', 'p', 'p', 't', 'y', 'y']

La différence entre les trois

sort() est un objet mutable (dictionnaire, liste) Méthode , aucun paramètre, aucune valeur de retour, sort() modifiera l'objet mutable, il n'est donc pas nécessaire de renvoyer une valeur. La méthode sort() est une méthode ou un attribut unique aux objets mutables. Les objets immuables tels que les tuples et les chaînes n'ont pas ces méthodes. S'ils sont appelés, une exception sera renvoyée.

>>> a=[5,4,3,2,1]
>>> a.sort()
>>> 
>>> a
[1, 2, 3, 4, 5]

sorted() est une fonction intégrée de Python. Ce n'est pas une méthode unique d'objets mutables (listes, dictionnaires). La fonction sorted() nécessite un paramètre (le paramètre peut être un). liste, dictionnaire, tuple, chaîne), quels que soient les paramètres passés, une valeur de retour avec une liste comme conteneur sera renvoyée. S'il s'agit d'un dictionnaire, une liste de clés sera renvoyée.

>>> mystring="54321"
>>> mytuple=(5,4,3,2,1)
>>> mylist=[5,4,3,2,1]
>>> sorted(mystring)
['1', '2', '3', '4', '5']
>>> sorted(mytuple)
[1, 2, 3, 4, 5]
>>> sorted(mylist)
[1, 2, 3, 4, 5]

reverse() est utilisé de la même manière que sort, et reverse() est utilisé de la même manière que sorted()

>>> mylist=[5,4,3,2,1]
>>> mylist.reverse()
>>> mylist
[1, 2, 3, 4, 5]
>>> mylist=[5,4,3,2,1]
>>> for i in reversed(mylist):
...   print i,
... 
1 2 3 4 5

"Reversal" peut également être obtenu en découpant la séquence L'effet de

>>> mystring="54321"
>>> mytuple=(5,4,3,2,1)
>>> mylist=[5,4,3,2,1]
>>> mystring[::-1]
'12345'
>>> mytuple[::-1]
(1, 2, 3, 4, 5)
>>> mylist[::-1]
[1, 2, 3, 4, 5]

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn