Формат разделенного запятыми списка дат в python - PullRequest
0 голосов
/ 04 января 2012

У меня есть список дат (datetime):

>>> print str(range)
[datetime.datetime(2011, 12, 15, 0, 0), datetime.datetime(2011, 12, 16, 0, 0), datetime.datetime(2011, 12, 17, 0, 0)]

, и я хотел бы отформатировать их как "% d /% m /% Y" и разделить их запятыми, то есть:

15/12/2011, 16.12.2011, 17.12.2011

В настоящее время я использую карту для запуска strftime на каждом издаты выглядят следующим образом:

>>> string = ", ".join(map(lambda x: x.strftime("%d/%m/%Y"), range))
>>> print string

, который выводит:

15/12/2011, 16/12/2011, 17.12.2011

Та, да!

Это не самый простой для чтения, но он работает.Это эффективно?Это питон?(это имеет значение?)

Ответы [ 2 ]

2 голосов
/ 04 января 2012

map() считается устаревшим (хотя есть и такие, которые утверждают иначе).

", ".join(x.strftime("%d/%m/%Y") for x in daterange)
0 голосов
/ 04 января 2012

почему бы не использовать выражение списка?

",".join([ date.strftime("%d/%m/%Y") for date in range])

да, карта устарела, это в официальной документации, потому что выражение списка лучше оптимизировано.

...