Python怎么设置条件表达式会提高效率

如题所述

1.把range全部换成xrange
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()。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-02-10

Python列表解析取代for循环和列表解析设置条件表达式会提高效率。

具体介绍:

1、用列表解析取代for循环。列表解析的效率等于或高于map。

2、垃圾回收机制,会对列表的操作有重大影响,如列表的append,或者列表解析。import gc,然后在数据载入模块前gc.disable(),结束后再gc.enable()。

相似回答