1. 程式人生 > >Python map和列表推導效率比較

Python map和列表推導效率比較

直接來測試程式碼吧:

#!/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操作會快很多,都三倍速度了