直接来测试代码吧:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# list comprehension and map

import time

def test(f, name):
	st = time.time()
	f()
	print '%s %ss'%(name, time.time()-st)


TIMES = 1000
ARR = range(10000)


def tmap():
	i = 0
	while (i<TIMES):
		map(lambda x:x, ARR)		
		i = i+1

def tlst():
	i = 0
	while (i<TIMES):
		[x for x in ARR]		
		i = i+1


test(tmap, "map")
test(tlst, "lst")


在我电脑上的测试结果:

map 1.06299996376s
lst 0.296000003815s

很明显列表推导比map操作会快很多,都三倍速度了



Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐