2.生成器,如 list=(item for item in fp)
3.利用psyco庫,提高函數和類的運行效率。
4.字符串拼接:盡量少用“+”的方式,而采用''.join ,還有"%s"%i這樣賦值的手段
5.函數的開銷很大。盡量把循環放在函數內進行。而不要讓每次叠代都調用函數。
6.“前提工作”先做好,比如該賦值,該拼接的,然後再引入到函數中,或者進行下面的循環。
7.盡量使用內置方法,因為內置的是C寫的,效率肯定高很多
8.每當要對序列中的內容進行循環處理時,就應當嘗試用列表解析來代替它,如:[i for i in xrang(10) if i%2==0]
9.學會使用itertools模塊。當python中添加了叠代器後,就為常見模式提供了壹個新的模塊,因為它是以C語言編寫,所以提供了最高效的叠代器。
--多記錄壹些。列表,字符串,字典,xrange,類文件對象,這些都是可叠代對象,換句話說,都可以直接用在for循環中進行叠代,如for item in open('1.txt')
--直接使用速度會快。另外,我對比了itertools裏工具和xrange,比如都循環100000次打印數字,使用islice(count(),100000)均要比xrange(100000)快
--而xrange還要比range快。
10.用列表解析取代for循環。列表解析的效率等於或高於map。
11.垃圾回收機制,會對列表的操作有重大影響,如列表的append,或者列表解析。import gc,然後在數據載入模塊前gc.disable(),結束後再gc.enable()。