Maison  >  Article  >  développement back-end  >  Pourquoi list.sort() ne renvoie-t-il pas une liste triée en Python ?

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

王林
王林avant
2023-09-18 09:29:061154parcourir

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)

Sortie

List =  ['Jacob', 'Harry', 'Mark', 'Anthony']
Sort (Ascending Order) =  ['Anthony', 'Harry', 'Jacob', 'Mark']

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']))

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}])

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer