阅读背景:

Python的dict类型迭代性能的优化(items()与iteritems()、keys()与iterkeys()、values()与itervalues()的区别)

来源:互联网 
#coding=utf-8

'''
演示dict的items()与iteritems()的区别
从演示结果可以看出iteritems()对于大的dict性能方面是有很大的提升的
拥有10**4个item的dict就应该使用iteritems(),而不是items()。

同理对keys()、iterkeys()、values()、itervalues()也是适用的
'''
import time

if __name__=='__main__':
	# n个数量级,如果你电脑性能足够好,完全可以把n值设置得更大些
	n = 8

	width = 16
	align = '<'
	print "{0:{align}{width}}{1:{align}{width}}{2:{align}{width}}".format('', 'items()', 'iteritems()', width=width, align=align)

	for i in range(n):
		tDict = {}.fromkeys(range(10**i))
		# normal,使用items
		nStart = time.time()
		for j in tDict.items():	
			pass
		nEnd = time.time()
		# iter,使用iteritems
		iStart = time.time()
		for j in tDict.iteritems():
			pass
		iEnd = time.time()

		print "{0:{align}{width}}{1:{align}{width}.4f}{2:{align}{width}.4f}".format(i, nEnd-nStart, iEnd-iStart, width=width, align=align)
#coding=utf-8

'''
演示dict的items()与iteritems()的区



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: