Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python:map()还是列表理解?_Python - Fatal编程技术网

python:map()还是列表理解?

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是最慢的: >

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是最慢的:

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