Hallo zusammen,
ich möchte gerne eine Liste sortieren können, die mit Wörtern und den dazugehörigen Werten besteht. Als Beispiel ist Apfel = 1, Birne = 3 und Banane = 10. Nun möchte ich, dass beim Ausführen des Programms eine Art Rangliste ausgegeben wird, die sowas zum Beispiel anzeigt:
1. Banane mit 10 Punkten
2. Birne mit 3 Punkten
3. Apfel mit 1 Punkt.
Ich hoffe mir kann jemand weiterhelfen!
Mit freundlichen Grüßen
Liste mit Werten und zugehörigen Wörtern sortieren
- __blackjack__
- User
- Beiträge: 13107
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Artikel: Listen haben eine `sort()`-Methode. Falls man die Liste selbst nicht verändern möchte, gibt es die `sorted()`-Funktion. Du suchst da eventuell das `key`- und das `reverse`-Argument bei `sort()` oder `sorted()`‽
Code: Alles auswählen
#!/usr/bin/env python3
from operator import itemgetter
def main():
items = [("Apfel", 1), ("Banane", 10), ("Birne", 3)]
for number, (name, points) in enumerate(
sorted(items, key=itemgetter(1), reverse=True), 1
):
print(
"{}. {} mit {} Punkt{}.".format(
number, name, points, "" if points == 1 else "en"
)
)
if __name__ == "__main__":
main()
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman