循环代码优化技巧(及其重要)

虽然计算机越来越快,空间也越来越大,我们仍然要在性能问题上"斤斤计较"。编写循环时,
遵守下面三个原则可以大大提高运行效率,避免不必要的低效计算:
1、尽量减少循环内部不必要的计算
2、嵌套循环中,尽量减少内层循环的计算,尽可能向外提。
3、局部变量查询较快,尽量使用局部变量
import time

time01=time.time()
for m in range(1000):
    lists=[]
    for n in range(10000):
        lists.append(m*1000+n*1000)  #这里把m*1000写入n的循环体里面,在n循环的时候,每循环一次就要计算一次,而且是重复的计算m*1000
time02=time.time()
print("耗时1:{0}".format(time02-time01))


time03=time.time()
for m in range(1000):
    lists=[]
    c=m*1000                          #这里把m*1000提出来写,不放在n的循环体里面,m*1000就在n循环的时候只需计算一次
    for n in range(10000):
        lists.append(c+n*1000)
time04=time.time()
print("耗时2:{0}".format(time04-time03))

    
其他优化手段
1、连接多个字符串,使用 join()而不使用+
2、列表进行元素插入和删除,尽量在列表尾部操作

使用 zip()并行迭代

通过 zip()函数对多个序列进行并行迭代,zip()函数在最短序列"用完"时就会停止

names = ("高淇","高老二","高老三","高老四")
ages = (18,16,20,25)
jobs = ("老师","程序员","公务员")
for name,age,job in zip(names,ages,jobs):
    print("{0}--{1}--{2}".format(name,age,job))

for i in range(3):
    print("{0}--{1}--{2}".format(names[i],ages[i],jobs[i]))

转载于:https://www.jianshu.com/p/739dd6f19a3c

猜你喜欢

转载自blog.csdn.net/weixin_34405332/article/details/91259734