摘要: 使用xrange()处理长序列这样可为你节省大量的系统内存,因为xrange()在序列中每次调用只产生一个整数元素。而相反range(),它將直接给你一个完整的元素列表,用于循环时会有不必要的开销。使用 Python generator这也可以节省内存和提高性能。例如一个视频流,你可以一个一个字节块... 阅读全文
posted @ 2013-01-18 18:04 前行者2011 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 计数时使用Counter计数对象这听起来显而易见,但经常被人忘记。对于大多数程序员来说,数一个东西是一项很常见的任务,而且在大多数情况下并不是很有挑战性的事情——这里有几种方法能更简单的完成这种任务。Python的collections类库里有个内置的dict类的子类,是专门来干这种事情的:>>>f... 阅读全文
posted @ 2013-01-18 16:11 前行者2011 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 集合(set)与列表(list)set的union,intersection,difference操作要比list的迭代要快。因此如果涉及到求list交集,并集或者差的问题可以转换为set来操作。set(list1) | set(list2)union包含list1和list2所有数据的新集合set... 阅读全文
posted @ 2013-01-18 15:22 前行者2011 阅读(153) 评论(0) 推荐(0) 编辑
摘要: for i in range(1,10): print i,t=[1,2,3,4,5,2,3]a=(i for i in t)print a#输出结果: at 0x03ED8670>s = (i for i in [1, 2, 3, 4, 5])print s.next()#输出结果:1some_... 阅读全文
posted @ 2013-01-18 11:27 前行者2011 阅读(133) 评论(0) 推荐(0) 编辑