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

谢谢非常相关谢谢非常相关