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

Wie sortiere ich eine Liste von Zeichenfolgen in Python numerisch?

Mary-Kate Olsen
Freigeben: 2024-12-20 09:50:10
Original
986 Leute haben es durchsucht

How to Numerically Sort a List of Strings in Python?

Numerische Sortierung von String-Listen in Python

Der Versuch, eine Liste von Strings in Python mithilfe der Funktion sort() numerisch zu sortieren, kann zu Folgendem führen: unerwartete Ergebnisse. Der Standard-Sortieralgorithmus für Zeichenfolgen in Python ist häufig alphabetisch und nicht numerisch.

Um eine Liste von Zeichenfolgen numerisch zu sortieren, müssen die Zeichenfolgen zunächst in Ganzzahlen konvertiert werden. Das bereitgestellte Code-Snippet versucht jedoch, die Zeichenfolgen in Ganzzahlen umzuwandeln, verwendet die konvertierten Werte jedoch nicht zum Sortieren.

Der richtige Ansatz besteht darin, die Zeichenfolgen mithilfe eines Listenverständnisses in Ganzzahlen umzuwandeln:

list1 = ["1", "10", "3", "22", "23", "4", "2", "200"]
list1 = [int(x) for x in list1]
Nach dem Login kopieren

Sobald die Zeichenfolgen in Ganzzahlen umgewandelt wurden, kann die Liste mit der Funktion sort() sortiert werden:

list1.sort()
Nach dem Login kopieren

Dies führt dazu, dass die Liste in aufsteigender numerischer Reihenfolge sortiert wird.

Alternativ, wenn es notwendig ist, die Elemente als Zeichenfolgen beizubehalten, kann eine Tastenfunktion verwendet werden, um die Vergleichskriterien festzulegen. Die Schlüsselfunktion wird für jedes Element aufgerufen, bevor es verglichen wird, und die Rückgabewerte werden zum Vergleich anstelle der Elemente selbst verwendet:

list1.sort(key=int)
Nach dem Login kopieren

Dadurch wird die Liste auch numerisch sortiert, aber die Elemente bleiben unverändert Saiten.

Das obige ist der detaillierte Inhalt vonWie sortiere ich eine Liste von Zeichenfolgen in Python numerisch?. 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