Ich versuche Werte in einer Liste nach den Buchstaben in ihrem Namen zu sortieren: Ich möchte beispielsweise ["8a", "8c", "8b", "8d"] zu ["8a", "8b "," 8c "," 8d "]. Hat das etwas mit einem Schlüssel zu tun?wie Sie Elemente in einer Liste alphabetisch nach den Buchstaben in ihren jeweiligen Namen sortieren.
Antwort
Sie können dies erreichen, indem Sie es nach einer Liste sortieren.
list = ["8a", "8c", "8b", "8d"]
list.sort()
print(list)
, dass Ihr Problem lösen lösen würde:
_list = ["8a", "8c", "8b", "8d"]
_list.sort()
print _list
Ausgang:
['8a', '8b', '8c', '8d']
Die Antwort ist einfach, wenn die Daten wie in Ihrer Frage aussehen. Wenn die Daten komplexer sind, müssen Sie der Methode sort
einen Schlüssel geben, der nur Buchstaben aus dem Alphabet enthält.
data = ["34b", "2a5t", "2a5s", "abcd"]
data.sort(key=lambda x: ''.join(c for c in x if c.isalpha()))
print(data)
Dies gibt Ihnen ['abcd', '2a5s', '2a5t', '34b']
.
Wenn Sie sehen wollen, wie die konstruierte Schlüssel sieht aus wie Sie es wie folgt überprüfen:
for value in data:
print(value, ''.join(c for c in value if c.isalpha()))
34b b
2a5t at
2a5s as
abcd abcd
Die .Sort() -Methode für Listen wurde erwähnt; eine Sortierfunktion ist, die die Liste als Argument übernimmt, und eine sortierte Liste zurückgibt, ohne die Liste an Ort und Stelle zu ändern:
>>> mylist = ["8a", "8c", "8b", "8d"]
>>> sorted(list)
['8a', '8b', '8c', '8d']
>>> mylist
['8a', '8c', '8b', '8d']
korrigiert, danke. Den Variablennamen "list" einfach behalten, weil OP das so heißt. –
anscheinend stelle ich mir Dinge vor ... –
Vorausgesetzt, dass Ihr Format Zahl folgt immer per Brief, benötigen Sie eine spezielle Sortiermethode geben Taste zum Sortieren nach: In diesem Fall möchten Sie nach dem letzten Zeichen sortieren. Viele der anderen Antworten sortieren nur Ihre Liste alphabetisch mit der Nummer gefolgt von Buchstaben, während ich das Gefühl habe, dass Sie nur nach dem Buchstaben sortieren möchten. Dies ist eine mögliche Art und Weise:
s = ['9d', '12a', '1e']
sorted_s = sorted(s, key=lambda x:x[-1]) # sorts by the last character of every entry
Dies zurück:
['12a', '9d', '1e']
@ PM2Ring Ah whoops mistype. Danke für das Aufzeigen (y) – gowrath
versuchen
Das Beispiel, das Sie in ihrem Namen mit den Buchstaben Werte in einer Liste zu sortieren erwähnt ist sehr einfach. Basierend auf Ihrer Anforderung, unten ist der Code re.findall()
und sorted()
mit sortieren basierend auf Buchstaben in beliebiger Reihenfolge innerhalb string:
>>> import re
>>> s = ['a9d', '1a2ba', '1e2s', '1b3tr']
>>> sorted(s, key=lambda x: re.findall("[a-zA-Z]+", x))
['1a2ba', 'a9d', '1b3tr', '1e2s'] # Sorted based on: aba, ad, btr, es
- 1. Sortieren drei Buchstaben alphabetisch
- 2. Sortieren einer Liste nach Namen in Python
- 3. alphabetisch sortieren und gruppieren Sie nach Anfangsbuchstaben
- 4. Wordpress-Liste alphabetisch sortieren
- 5. Sortieren nach Namen in SQL in Priorität
- 6. Sortieren verknüpften Liste alphabetisch
- 7. Linq Sortieren nach alphabetisch
- 8. Sortieren 3 Liste nach ihren Werten
- 9. Alphabetisch MYSQL sortieren nach Buchstaben ergeben das Präfix ‚Die‘
- 10. Alphabetisch sortieren und nach Gruppe anzeigen
- 11. Wie sortieren Sie Filme in Rails alphabetisch?
- 12. Sortieren einer Liste alphabetisch mit compareTo() Methode
- 13. Python: spezifische Elemente in einer Liste sortieren
- 14. Sortieren Sie eine Liste von Tupeln alphabetisch und nach Wert
- 15. Sortieren Sie den vollständigen Namen in alphabetischer Reihenfolge in R
- 16. Java - Alphabetisch sortieren und einzigartige Elemente zusammenstellen
- 17. Liste der Zeichenfolgen und Platznummern nach Buchstaben in Python sortieren
- 18. alphabetisch sortieren C++
- 19. Sortieren Liste Elemente in Elixir Lang
- 20. Alphabetisch in Schienen sortieren
- 21. Sortieren Counter nach Häufigkeit, dann alphabetisch in Python
- 22. Sortieren einer Zeichenfolge in Javascript alphabetisch
- 23. Sortieren TreeMap alphabetisch
- 24. Sortieren einer vordefinierten Liste von Namen
- 25. Wie Liste der Namen nach Datum sortieren und in bash
- 26. Alphabetisch ein Array in einer Struktur sortieren?
- 27. Zugriff VBA alphabetisch Sortieren von Dateinamen mit Buchstaben des Alphabets
- 28. Google Sheets Script: Sortieren Sie Blätter alphabetisch in einer Tabelle
- 29. Liste der Elemente in Android Studio anordnen (alphabetisch, neuestes ... usw.)
- 30. Liste der Listen in R sortieren: Wert einer Liste je nach Wert der anderen Listen sortieren
Dies ist sehr breit, und es ist sehr wahrscheinlich, dass dies nicht die reale Fall ist, sonst 'sortiert (lst) 'werde es tun. – Psidom
Wird der Buchstabe immer das zweite Zeichen sein? – David
1) Was sollte das Ergebnis für eine Liste wie diese sein: ['9a', '6b', '3d']? 2) Ist das Format der Einträge in der Liste immer eine Nummer gefolgt von einem Zeichen? – gowrath