Liste sortieren
Verfasst: Samstag 7. November 2015, 23:37
Hi,
wie löse ich folgendes Problem:
wie löse ich folgendes Problem:
Code: Alles auswählen
priorisieren = ["Esel","Katze"]
liste = [{"Tier":"Hase","Rang":5},{"Tier":"Hund","Rang":2},{"Tier":"Katze","Rang":1},{"Tier":"Maus","Rang":6},{"Tier":"Esel","Rang":3},{"Tier":"Huhn","Rang":4}] # bisher willkuerliche reihenfolge
# es soll sortiert werden nach größe der ränge, größter rang zuerst. Aber alle Tiere, die in der priorisieren Liste stehen, sollen zuerst stehen.
# Ergebnis soll also sein:
# [{"Tier":"Esel","Rang":3},{"Tier":"Katze","Rang":1},{"Tier":"Maus","Rang":6},{"Tier":"Hase","Rang":5},{"Tier":"Huhn","Rang":4},{"Tier":"Hund","Rang":2}]
sortedliste = sorted(liste,key=lambda angaben: angaben["Rang"],reverse=True)
# hiermit könnte man es nach Rang sortieren. Aber wie bekomme ich die priorisierung dazu?