Python—将同一函数应用于列表元素的最快方法是什么
我有这个清单Python—将同一函数应用于列表元素的最快方法是什么,python,list,Python,List,我有这个清单 l = ['2017-05-13 00:00:00', '2017-05-12 00:00:00', '2017-05-11 00:00:00'] 我想删除每个元素的00:00:00部分elm=elm.split(“”[0] 有比这更快的方法吗 for elm in l: elm = elm.split(" ")[0] 最快的方法是使用列表理解,以下是一些情况: 案例0: l = ['2017-05-13 00:00:00', '2017-05-12 00:00:00'
l = ['2017-05-13 00:00:00', '2017-05-12 00:00:00', '2017-05-11 00:00:00']
我想删除每个元素的00:00:00
部分elm=elm.split(“”[0]
有比这更快的方法吗
for elm in l:
elm = elm.split(" ")[0]
最快的方法是使用
列表理解
,以下是一些情况:
案例0:
l = ['2017-05-13 00:00:00', '2017-05-12 00:00:00', '2017-05-11 00:00:00']
start0 = time.time()
output = []
for data in l:
data = data.split(" ")[0]
output.append(data)
print(output)
print(time.time()-start0)
['2017-05-13', '2017-05-12', '2017-05-11']
5.602836608886719e-05
案例1:使用lambda
和map()
:
案例2:列表理解
l = ['2017-05-13 00:00:00', '2017-05-12 00:00:00', '2017-05-11 00:00:00']
start2 = time.time()
print([i.split()[0] for i in l])
print(time.time()-start2)
['2017-05-13', '2017-05-12', '2017-05-11']
0.00010156631469726562
最快的方法是使用
列表理解
,以下是一些情况:
案例0:
l = ['2017-05-13 00:00:00', '2017-05-12 00:00:00', '2017-05-11 00:00:00']
start0 = time.time()
output = []
for data in l:
data = data.split(" ")[0]
output.append(data)
print(output)
print(time.time()-start0)
['2017-05-13', '2017-05-12', '2017-05-11']
5.602836608886719e-05
案例1:使用lambda
和map()
:
案例2:列表理解
l = ['2017-05-13 00:00:00', '2017-05-12 00:00:00', '2017-05-11 00:00:00']
start2 = time.time()
print([i.split()[0] for i in l])
print(time.time()-start2)
['2017-05-13', '2017-05-12', '2017-05-11']
0.00010156631469726562
当datatime字符串具有固定大小时,可以直接对字符串进行切片:
>>> l = ['2017-05-13 00:00:00', '2017-05-12 00:00:00', '2017-05-11 00:00:00']
>>> [i[:10] for i in l]
['2017-05-13', '2017-05-12', '2017-05-11']
当datatime字符串具有固定大小时,可以直接对字符串进行切片:
>>> l = ['2017-05-13 00:00:00', '2017-05-12 00:00:00', '2017-05-11 00:00:00']
>>> [i[:10] for i in l]
['2017-05-13', '2017-05-12', '2017-05-11']
谢谢非常相关谢谢非常相关