Seite 1 von 1

Anfängerfrage: Liste sortieren

Verfasst: Dienstag 5. Oktober 2021, 11:12
von LinuxRambo
Hallo zusammen,

aktuell beschäftige ich mich mit Listen.

Hier kurz mein Code:

Code: Alles auswählen

# Anlegen einer Liste und mit Tieren und deren Namen
liste_1 = ["Hund", "Bello", "Ratte", "Casiopeia", "Kater", "Merlin"]

liste_3 = [["Hund", "Bello"], ["Ratte", "Casiopeia"], ["Kater", "Merlin"]]

# Ausgabe der liste_3
print("Original: " + str(liste_3))
print("")

# liste_3 nach Art des Tieres sortieren und ausgeben
print("Sortiert nach Art des Tieres: " + str(sorted(liste_3, key = lambda x: x[0])))
print("")

# liste_3 nach Tiernamen sortieren und ausgeben
print("Sortiert nach Tiernamen: " + str(sorted(liste_3, key = lambda x: x[1])))
print("")
Die Ausgabe klappt und alles ist gut. ;-)

Meine Frage:
Ist es möglich liste_1 ebenso zu sortieren wie liste_3?
Welches Vorgehen würde sich empfehlen?
Index 0 und Index 1 gehören ja zusammen (sowie Index 2 und Index 3 usw.).
Beim Sortieren der liste_1 ginge mir diese Zuordnung ja verloren.

Danke und Gruß
LiRo

Re: Anfängerfrage: Liste sortiert

Verfasst: Dienstag 5. Oktober 2021, 11:40
von __deets__
Nicht wirklich. Wenn deine Daten so strukturiert sind wie in Liste 1, musst du sie erst in eine Struktur wie Liste zwei überführen, dann sortieren, und dann wieder plätten. Und genau weil das komisch ist, und man eine solche inhärente Zuordnung von wertepaaren nicht erkennen kann, macht man das auch nicht, und repräsentiert Daten nicht wie in Liste 1.

Re: Anfängerfrage: Liste sortiert

Verfasst: Dienstag 5. Oktober 2021, 11:44
von LinuxRambo
__deets__ hat geschrieben: Dienstag 5. Oktober 2021, 11:40 Nicht wirklich. Wenn deine Daten so strukturiert sind wie in Liste 1, musst du sie erst in eine Struktur wie Liste zwei überführen, dann sortieren, und dann wieder plätten. Und genau weil das komisch ist, und man eine solche inhärente Zuordnung von wertepaaren nicht erkennen kann, macht man das auch nicht, und repräsentiert Daten nicht wie in Liste 1.
Na dann ist ja alles klar ;-)

Danke und Gruß
LiRo