我有一个表示日期的字符串列表:
>>> dates
['14.9.2016',
'13.9.2016',
'12.9.2016',
'11.9.2016',
'10.9.2016',
'9.9.2016',
'8.9.2016',
'7.9.2016',
'6.9.2016',
'5.9.2016']
我需要将padd日和月归零,并且我不能使用标准日历方法,因为我需要处理“人造日期”(例如“29.2.2015”)
以下方法似乎有效:
>>> parsed_dates = []
>>> for l in [d.split('.') for d in dates]:
>>> parsed_dates.append('.'.join([i.zfill(2) for i in l]))
>>> parsed_dates
['14.09.2016',
'13.09.2016',
'12.09.2016',
'11.09.2016',
'10.09.2016',
'09.09.2016',
'08.09.2016',
'07.09.2016',
'06.09.2016',
'05.09.2016']
使用单一的列表理解是否可能达到相同的结果?或者其他更优雅的方式? 我尝试了以下方法,但找不到一种方法来连接单个列表项以再次形成日期字符串。。。你知道吗
>>> [i.zfill(2) for l in [d.split('.') for d in dates] for i in l]
['14',
'09',
'2016',
'13',
'09',
'2016',
'12',
'09',
.
.
.
当然,只需内联传递给
parsed_dates.append()
调用的表达式,并用for
循环中的l
替换d.split('.')
:演示:
相关问题 更多 >
编程相关推荐