几点建议:
-
为了清晰起见,请将代码包装在函数中。
-
您缺少列表创建和附加
code_for
是的。这是使用显式
for
循环。
-
你可以用
timeit
,或者如果你有Jupyter笔记本,
%timeit
命令。
如下所示,
map
没有
lambda
表现最好,这是有道理的
hex
是内置的。见
Python List Comprehension Vs. Map
更多细节。
def code_for(n):
res = []
for i in range(n):
res.append(hex(i))
return res
def code_map(n):
return list(map(hex, range(n)))
def code_map_lambda(n):
return list(map(lambda x: hex(x), range(n)))
def code_list_comprehension(n):
return [hex(x) for x in range(n)]
%timeit code_for(10000) # 3.19 ms per loop
%timeit code_map(10000) # 1.69 ms per loop
%timeit code_map_lambda(10000) # 3.06 ms per loop
%timeit code_list_comprehension(10000) # 2.27 ms per loop