1.使用生成器,可以节约大量内存
在Python中,一边循环一边计算的机制,称为生成器(generator)。
列表所有数据都在内存中,如果有海量数据的话将会非常耗内存。
如果仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。
如果列表元素按照某种算法推算出来,那我们就可以在循环的过程中不断推算出后续的元素,这样就不必创建完整的list,从而节省大量的空间。
简单一句话:既想得到庞大的数据,又想让它占用空间少,那就用生成器!
生成器的使用:
python3比python2的高级之处就是将range()、filter()、map()等函数结果升级生成了生成器,这样将节约大量内存
生成器函数的使用
只要把一个列表生成式的[]
改成()
,就创建了一个generator:
2.循环代码优化,避免过多重复代码的执行
循环代码,特别是时间复杂度和空间复杂度比较高的循环代码特别消耗内存,这样的代码优化的空间潜力比较大。
3.多个if elif条件判断,可以把最有可能先发生的条件放到前面写
把最有可能先发生的条件放在前面,这样可以减少程序判断的次数,提高效率
4.多进程、多线程、协程
多进程可以充分利用机器的多核资源,提高代码执行效率;
但是由于python的多线程其实是“伪多线程”,同一时刻总是只有一个线程在执行,所以python的多线程对效率提升意义并不是很大。
5.升级较高的python版本
每个版本python都会相较之前的版本进行优化,使其运行速度优于之前的版本,比如python3相较python2将很多直接生成列表的函数改为生成生成器。