Maison  >  Article  >  développement back-end  >  Description détaillée des méthodes de tri de liste Python inversée, triée, triée

Description détaillée des méthodes de tri de liste Python inversée, triée, triée

高洛峰
高洛峰original
2017-03-19 15:22:232208parcourir

Python Il existe trois méthodes de tri de liste dans le langage : le tri inverse/inverse, le trile tri direct 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 de 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 par tri. La méthode consiste à modifier directement la méthode de tri listlist 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 originale 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 Il peut être utilisé dans n'importe quelle séquence de type de données , et ce qui est renvoyé est toujours une 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 une méthode d'objet mutable (Dictionnaire, liste), aucun paramètre, aucune valeur de retour, sort() changera 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 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 la fonction intégrée de Python, et n'est pas une méthode unique d'objets mutables (listes, dictionnaires), triés () La fonction nécessite un paramètre (le paramètre peut être une liste, un dictionnaire, un tuple ou une chaîne). Quel que soit le paramètre passé, une valeur de retour avec une liste comme conteneur sera renvoyée. la liste des 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


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

>>> 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