Heim  >  Artikel  >  Backend-Entwicklung  >  Warum gibt list.sort() in Python keine sortierte Liste zurück?

Warum gibt list.sort() in Python keine sortierte Liste zurück?

王林
王林nach vorne
2023-09-18 09:29:061219Durchsuche

Warum gibt list.sort() in Python keine sortierte Liste zurück?

Beispiel

In diesem Beispiel schauen wir uns zunächst die Verwendung von list.sort() an, bevor wir fortfahren. Hier erstellen wir eine Liste und sortieren sie in aufsteigender Reihenfolge mit der Methode 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)

Ausgabe

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

In Fällen, in denen die Leistung wichtiger ist, wird das Kopieren einer Liste nur zum Sortieren nicht als sinnvoll und verschwenderisch angesehen. Daher sortiert list.sort() die Liste direkt. Diese Methode gibt keine sortierte Liste zurück. Auf diese Weise werden Sie nicht dazu verleitet, die Liste versehentlich zu überschreiben, wenn Sie eine sortierte Kopie benötigen, aber gleichzeitig die unsortierte Version behalten müssen.

Verwenden Sie die integrierte Funktion sorted(), um eine neue Liste zurückzugeben. Diese Funktion erstellt eine neue Liste basierend auf dem bereitgestellten Iterable, sortiert sie und gibt sie zurück.

Verwenden Sie sorted(), um eine Wörterbuchliste nach Wert zu sortieren

Beispiel

Wir haben jetzt die Wörterbuchliste mit der Methode sorted() sortiert.

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

Ausgabe

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

Das obige ist der detaillierte Inhalt vonWarum gibt list.sort() in Python keine sortierte Liste zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen