我在我的Rails應用程序一點的一行返回了一系列版權日期與可選參數,如:的Ruby到Python的單行轉換
def copyright_dates(start_year = Date.today().year)
[start_year, Date.today().year].sort.uniq.join(" - ")
end
我在移動應用Django,雖然我喜歡它,但我錯過了一些簡潔。在Python同樣的方法是這樣的:
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))
它已經多年,因爲我已經感動的Python,所以我打賭有一個更簡單的方法來做到這一點。有任何想法嗎?
編輯:我知道名單,並集是有點大材小用,但我想下面的輸出假設代碼是在2009年運行:
copyright_dates() # '2009'
copyright_dates(2007) # '2007 - 2009'
copyright_dates(2012) # '2009 - 2012'
尼斯。感謝您及時的回覆。 – 2009-08-14 22:03:49
我能夠把它放到「 - 」.join(如果我排除了列表理解,我可以將它縮小到「 - 」.join(map(str,sorted(set([start_year,datetime.now()。year]))))。 – 2009-08-14 22:08:06