(一)Python入门-4控制语句:09循环代码优化技巧(重要)-zip()并行迭代

一:循环代码优化

  虽然计算机越来越快,空间也越来越大,我们仍然要在性能问题上“斤斤计较”。编写循环时,遵守下面三个原则可以大大提高运行效率,避免不必要的低效计算:

    1. 尽量减少循环内部不必要的计算
    2. 嵌套循环中,尽量减少内层循环的计算,尽可能向外提。
    3. 局部变量查询较快,尽量使用局部变量

  其他优化手段:

    1. 连接多个字符串,使用 join()而不使用+

    2. 列表进行元素插入和删除,尽量在列表尾部操作

【操作】循环代码优化测试

 1 import time
 2 start = time.time()
 3 for i in range(1000):
 4     result = []
 5     for j in range(10000):
 6         result.append(i*1000+j*100)
 7 end = time.time()
 8 print('耗时:{0}'.format((end-start)))
 9 
10 start2 = time.time()
11 for i in range(1000):
12     result = []
13     m = i * 1000  
14     for j in range(10000):
15         result.append(m+j*100)
16 end2 = time.time()
17 print('耗时:{0}'.format((end2-start2)))

二:使用zip()并行迭代

  我们可以通过 zip()函数对多个序列进行并行迭代,zip()函数在最短序列“用完”时就会停止。

【操作】测试 zip()并行迭代

 1 #定义元组,遍历一个列表
 2 for i in [1,2,3]:
 3     print(i)
 4 #定义三个列表,遍历多个列表
 5 names = ('zy','ze','zs','zw','zl')
 6 ages = (18,19,20)
 7 jobs = ('程序员','测试','UI','产品经理')
 8 
 9 for name,age,job in zip(names,ages,jobs):   #使用zip()函数遍历
10     print('{0}--{1}--{2}'.format(name,age,job))
11 
12 for i in range(3):   #普通循环遍历
13     print('{0}-{1}-{2}'.format(names[i],ages[i],jobs[i]))

 

posted on 2019-05-11 23:33  JACK#zhang  阅读(799)  评论(0编辑  收藏  举报