• (一)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]))
  • 相关阅读:
    贪心-poj-3040-Allowance
    [置顶] .net技术类面试、笔试题汇总3
    数据对接—kettle使用之二
    做好先期工作,才能有效沟通
    cc++复习基础要点08--c++单例模式
    android 限制adb的访问目录
    我奋斗18年,和你或者咖啡没有任何关系
    (3)选择元素——(15)总结(Summary)
    (3)选择元素——(16)延伸阅读(Further reading)
    网络协议复习
  • 原文地址:https://www.cnblogs.com/jack-zh/p/10831051.html
Copyright © 2020-2023  润新知