Ich habe einen kleinen Einzeiler in meiner Rails-Anwendung, die eine Reihe von Copyright Daten mit einem optionalen Parameter gibt, zB:Ruby python Einzeiler Umwandlung
def copyright_dates(start_year = Date.today().year)
[start_year, Date.today().year].sort.uniq.join(" - ")
end
Ich ziehe die App über Django, und während ich es liebe, vermisse ich ein bisschen die Prägnanz. Die gleiche Methode in Python wie folgt aussieht:
def copyright_dates(start_year = datetime.datetime.today().year):
years = list(set([start_year, datetime.datetime.today().year]))
years.sort()
return " - ".join(map(str, years))
Es ist Jahre her, dass ich Python berührt habe, so ich wette, gibt es einen einfacheren Weg, es zu tun. Irgendwelche Ideen?
EDIT: Ich weiß, Listen und setzt ein wenig übertrieben, aber ich möchte die folgende Ausgabe den Code unter der Annahme ausgeführt wird in 2009:
copyright_dates() # '2009'
copyright_dates(2007) # '2007 - 2009'
copyright_dates(2012) # '2009 - 2012'
Nizza. Danke für die schnelle Antwort. –
Ich konnte es auf "-" .join (map (str, sortierte (set ([start_year, datetime.now(). Jahr])))) wenn ich das Listenverständnis weggelassen. –