Ich möchte eine Liste in Monaten bestellenPython Liste Verständnis Fehler
months = ["Jan", "Feb", "March", "April",
"May", "June", "July", "Aug",
"Sept", "Oct", "Nov", "Dec"]
Diese Funktion funktioniert, aber ich möchte Liste Verständnis verwenden, anstatt
def order(values):
sorted = []
for month in months:
if month in values:
sorted_.append(month)
return sorted_
order(["April","Jan", "Feb"]
Ausgang - [ ‚Jan‘, ' Februar ‚‘,‘April]
ich habe versucht, dies aber ich einen Syntaxfehler bekommen, und ich bin nicht sicher, warum
sorted_ = [month if month in values for month in months]
Es sieht aus wie Ihre 'if' ist an der falschen Stelle:' sorted_ = [Monat für Monat in Monaten, wenn Monat in Werten] ' – mgilson
@mgilson Lebensretter! –
Sie brauchen dazu eigentlich kein Verständnis ... 'sortiert (Werte, Schlüssel = Monate.index)'. Aber jeder 'list.index' Aufruf ist O (n) –