簡體   English   中英

python字符串解析列表

[英]python list of strings parsing

我有一個表示日期的字符串列表:

>>> 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']

由於我需要處理的“人工日期”(例如“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()調用的表達式,並將l替換for循環中的d.split('.')

['.'.join([i.zfill(2) for i in d.split('.')]) for d in dates]

演示:

>>> ['.'.join([i.zfill(2) for i in d.split('.')]) for d in 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']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM