python:map()还是列表理解?
pythonistas:哪个更快,其中python:map()还是列表理解?,python,Python,pythonistas:哪个更快,其中a类似于[str(x)代表列表中的x(范围(100))] ints=map(int,a) 或 ints=[int(x)表示a中的x] 假设a将是一个相对较大的字符串列表…map在我的笔记本电脑上看起来更快(没有lambda)(Macbook Pro 2014年年中,OSX 10.11.4,16GB DDR3 ram,2.2 GHz Intel Core i7): 使用Python 2.7.10进行测试 但是,使用带有lambda函数的map是最慢的: >
a
类似于[str(x)代表列表中的x(范围(100))]
ints=map(int,a)
或
ints=[int(x)表示a中的x]
假设
a
将是一个相对较大的字符串列表…map
在我的笔记本电脑上看起来更快(没有lambda)(Macbook Pro 2014年年中,OSX 10.11.4,16GB DDR3 ram,2.2 GHz Intel Core i7):
使用Python 2.7.10进行测试
但是,使用带有lambda函数的map是最慢的:
>>> timeit.timeit("map(lambda x: int(x), range(100))", number=100000)
2.285655994415283
地图会更快,之后是个人喜好。map发生在c级别,一旦您使用map而不使用lambda和一些内置方法,它通常会比在列表中使用相同的方法更快compCPython没有使c或Java等语言的基准测试变得困难的大多数效果,因此,你可能会得到正确的答案。阅读以下内容:我认为每一个答案都会根据你的需要而有所帮助。
>>> timeit.timeit("map(lambda x: int(x), range(100))", number=100000)
2.285655994415283