zoukankan      html  css  js  c++  java
  • (一)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]))
  • 相关阅读:
    auto关键字
    关闭vs的编译警告
    windows C++删除非空文件夹
    vs相同变量高亮显示
    梯度下降算法到logistic回归
    ubuntu 按键替换 Control_R to Left
    git 删除分之以及删除文件夹
    迄今为止计算机视觉领域超有实力的研究人物主页
    DeepLearning——CNN
    利用积分图进行均值滤波
  • 原文地址:https://www.cnblogs.com/jack-zh/p/10831051.html
Copyright © 2011-2022 走看看