Python入门-4控制语句:09循环代码优化技巧(重要)-zip()并行迭代
Posted jack-zh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]))
以上是关于Python入门-4控制语句:09循环代码优化技巧(重要)-zip()并行迭代的主要内容,如果未能解决你的问题,请参考以下文章
Python入门-4控制语句:08循环中的break-continue-else
Python入门-4控制语句:06for循环结构-遍历各种可迭代对象-range对象
Python从入门到进阶10流程控制语句-循环语句(for-while)