Heim > Backend-Entwicklung > Python-Tutorial > Wie sortiere ich eine Liste numerischer Zeichenfolgen in Python?

Wie sortiere ich eine Liste numerischer Zeichenfolgen in Python?

Linda Hamilton
Freigeben: 2024-12-04 20:32:17
Original
327 Leute haben es durchsucht

How to Sort a List of Numerical Strings in Python?

Sortieren einer Liste numerischer Zeichenfolgen

Pythons sort()-Funktion kann verwirrend sein, wenn es um Zeichenfolgen geht, die Zahlen darstellen. Dieser Artikel erklärt, warum und stellt Lösungen vor, um solche Listen numerisch zu sortieren.

Das Problem:

Bedenken Sie den folgenden Codeausschnitt:

list1 = ["1", "10", "3", "22", "23", "4", "2", "200"]
for item in list1:
    item = int(item)

list1.sort()
print(list1)
Nach dem Login kopieren

Dies Der Code versucht, jede Zeichenfolge in der Liste in eine Ganzzahl umzuwandeln und die Liste dann zu sortieren. Die Ausgabe ist jedoch falsch:

['1', '10', '2', '200', '22', '23', '3', '4']
Nach dem Login kopieren

Die Lösung:

Das Problem im angegebenen Code besteht darin, dass jede Zeichenfolge innerhalb der Schleife in eine Ganzzahl konvertiert wird , aktualisiert die Schleife die ursprüngliche Liste nicht. Um dies zu beheben, konvertieren Sie die Zeichenfolgen in Ganzzahlen und erstellen Sie eine neue Liste:

list1 = [int(x) for x in list1]
list1.sort()
Nach dem Login kopieren

Verwenden einer Tastenfunktion:

Wenn Sie die Zeichenfolgen stattdessen beibehalten müssen Um sie in Ganzzahlen umzuwandeln, können Sie den Schlüsselparameter in der Funktion sort() verwenden:

list1 = ["1", "10", "3", "22", "23", "4", "2", "200"]
list1.sort(key=int)
Nach dem Login kopieren

oder in einer einzelnen Zeile:

list1 = sorted([int(x) for x in list1])
Nach dem Login kopieren

In beiden Fällen wird die Funktion int() vor dem Vergleich als Schlüssel für jede Zeichenfolge aufgerufen, sodass die Liste numerisch sortiert werden kann.

Das obige ist der detaillierte Inhalt vonWie sortiere ich eine Liste numerischer Zeichenfolgen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage