Gibt es eine einfache Möglichkeit, die Buchstaben in einer Zeichenfolge in Python alphabetisch zu sortieren?
So für:
a = 'ZENOVW'
Ich würde gerne zurückkehren:
'ENOVWZ'
Du kannst tun:
>>> a = 'ZENOVW'
>>> ''.join(sorted(a))
'ENOVWZ'
sorted(a)
eine sortierte Liste zurückgegeben wird, sodass Sie für Zeichenfolgenvergleiche keine benötigenjoin()
(siehe die Antwort von askewchan unten).''.join(sorted(a, reverse=True, key=str.lower))
dies verwendet werden kann, um eine umgekehrte Sortierung ohne Berücksichtigung der Groß- und Kleinschreibung durchzuführen. Könnte praktisch sein.sorted
Gibt eine Liste zurück, sodass Sie sie erneut zu einer Zeichenfolge machen können, indem Siejoin
:Dies verbindet die Elemente von
b
zusammen mit einer leeren Zeichenfolge''
zwischen jedem Element.quelle
Die Sorted () -Lösung kann mit anderen Zeichenfolgen zu unerwarteten Ergebnissen führen.
Liste anderer Lösungen:
Buchstaben sortieren und unterscheiden:
Sortieren Sie die Buchstaben und machen Sie sie unter Beibehaltung der Großbuchstaben deutlich:
Buchstaben sortieren und Duplikate aufbewahren:
Wenn Sie das Leerzeichen im Ergebnis entfernen möchten, fügen Sie in einem der folgenden Fälle die Funktion strip () hinzu:
quelle
Sie können reduzieren verwenden
quelle
Die Python-Funktion
sorted
gibt ein ASCII-basiertes Ergebnis für eine Zeichenfolge zurück.INKORREKT : Im folgenden Beispiel
e
undd
liegt hinterH
undW
aufgrund des ASCII-Werts.RICHTIG : Um die sortierte Zeichenfolge zu schreiben, ohne die Groß- und Kleinschreibung des Buchstabens zu ändern. Verwenden Sie den Code:
Wenn Sie alle Satzzeichen und Zahlen entfernen möchten. Verwenden Sie den Code:
quelle
Der Code kann verwendet werden, um Zeichenfolgen in alphabetischer Reihenfolge zu sortieren, ohne eine eingebaute Python-Funktion zu verwenden
k = Eingabe ("Geben Sie eine beliebige Zeichenfolge erneut ein")
quelle
Die Antwort mit der Funktion redu () hat mir sehr gut gefallen. Hier ist eine andere Möglichkeit, die Zeichenfolge mit accumulate () zu sortieren.
sortiert (en) -> ['i', 'i', 'i', 'i', 'm', 'p', 'p', 's', 's', 's', 's' ]]
tuple (akkumulieren (sortiert (en)) -> ('i', 'ii', 'iii', 'iiii', 'iiiim', 'iiiimp', 'iiiimpp', 'iiiimpps', 'iiiimppss', 'iiiimppsss ',' iiiimppssss ')
Wir wählen den letzten Index (-1) des Tupels aus
quelle