use*_*044 3 python list-comprehension python-2.7
我有一个函数可以将字符串日期转换为列表列表中值的日期时间.并非所有值都是字符串日期,所以我使用的是try
和except ValueError
函数.对于不是字符串日期的东西,我想什么也不做,但代码覆盖了值None
.
import datetime
def parse_date(datestamp):
try:
return datetime.datetime.strptime(str(datestamp)[:10], '%Y-%m-%d')
except ValueError:
pass
My_List = [['ID1', '2015-1-12'], ['ID2', '2015-12-12']]
My_List = [[parse_date(x) for x in i] for i in My_List]
print My_List
Run Code Online (Sandbox Code Playgroud)
期望的输出:
[[ID1, datetime.datetime(2015, 1, 12, 0, 0)], [ID2, datetime.datetime(2015, 12, 12, 0, 0)]]
Run Code Online (Sandbox Code Playgroud)
这是因为parse_date()
当它到达函数的末尾时返回None,并且您将元素设置为此值.相反,返回值不变:
def parse_date(datestamp):
try:
return datetime.datetime.strptime(str(datestamp)[:10], '%Y-%m-%d')
except ValueError:
return datestamp
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
317 次 |
最近记录: |