Pourquoi list.sort() ne renvoie-t-il pas une liste triée en Python ?

王林
Libérer: 2023-09-18 09:29:06
avant
1227 Les gens l'ont consulté

Pourquoi list.sort() ne renvoie-t-il pas une liste triée en Python ?

Exemple

Dans cet exemple, nous examinons d'abord l'utilisation de list.sort() avant de continuer. Ici, nous créons une liste et la trions par ordre croissant en utilisant la méthode sort() -

# Creating a List
myList = ["Jacob", "Harry", "Mark", "Anthony"]

# Displaying the List
print("List = ",myList)

# Sort the Lists in Ascending Order
myList.sort()

# Display the sorted List
print("Sort (Ascending Order) = ",myList)
Copier après la connexion

Sortie

List =  ['Jacob', 'Harry', 'Mark', 'Anthony']
Sort (Ascending Order) =  ['Anthony', 'Harry', 'Jacob', 'Mark']
Copier après la connexion

Dans les cas où les performances sont plus importantes, copier une liste juste pour le trier n'est pas considéré comme une bonne chose et constitue un gaspillage. Par conséquent, list.sort() trie la liste sur place. Cette méthode ne renvoie pas de liste triée. De cette façon, vous ne serez pas amené à écraser accidentellement la liste lorsque vous avez besoin d'une copie triée, mais vous devrez également conserver la version non triée.

Utilisez la fonction intégrée sorted() pour renvoyer une nouvelle liste. Cette fonction crée une nouvelle liste basée sur l'itérable fourni, la trie et la renvoie.

Utilisez sorted() pour trier une liste de dictionnaires en fonction de la valeur

Exemple

Nous avons maintenant trié la liste des dictionnaires en utilisant la méthode sorted().

# List of dictionaries
d = [
   {"name" : "Sam", "marks" : 98},
   {"name" : "Tom", "marks" : 93},
   {"name" : "Jacob", "marks" : 97}
]

# Display the Dictionary
print("Dictionary = \n",d)

# Sorting using values with the lambda function
print("Sorted = \n",sorted(d, key = lambda item: item['marks']))
Copier après la connexion

Sortie

('Dictionary = \n', [{'name': 'Sam', 'marks': 98}, {'name': 'Tom', 'marks': 93}, {'name': 'Jacob', 'marks': 97}])
('Sorted = \n', [{'name': 'Tom', 'marks': 93}, {'name': 'Jacob', 'marks': 97}, {'name': 'Sam', 'marks': 98}])
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal