首页 > 其他分享 >63:循环代码优化技巧(极其重要)

63:循环代码优化技巧(极其重要)

时间:2022-11-18 15:03:02浏览次数:34  
标签:63 range 代码优化 极其重要 result time 循环 1000

###循环代码优化

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

1. 尽量减少循环内部不必要的计算

2. 嵌套循环中,尽量减少内层循环的计算,尽可能向外提。

3. 局部变量查询较快,尽量使用局部变量

# 循环代码优化测试
import time

start = time.time()
for i in range(1000):
    result = []
for m in range(10000):
    result.append(i * 1000 + m * 100)

end = time.time()
print("耗时:{0}".format((end - start)))

start2 = time.time()
for i in range(1000):
    result = []
c = i * 1000
for m in range(10000):
    result.append(c + m * 100)

end2 = time.time()
print("耗时:{0}".format((end2 - start2)))

输出结果:

D:\work\python\one\venv\Scripts\python.exe D:\work\python\one\mypy11.py 
耗时:0.0016088485717773438
耗时:0.000997304916381836

其他优化手段

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

 

标签:63,range,代码优化,极其重要,result,time,循环,1000
From: https://www.cnblogs.com/yuanzijian/p/16903223.html

相关文章

  • 【LuoguP5163】WD与地图
    【LuoguP5163】WD与地图Description有一个\(n\)个点\(m\)条边的有向图每个点有点权\(a_i\)维护三种操作:1.删去\(a\)到\(b\)的边2.\(a_i\)加上\(b\)3.查询\(a\)所在......
  • leetcode633
    平方数之和Category Difficulty Likes Dislikesalgorithms Medium(39.41%) 403 -TagsCompanies给定一个非负整数c,你要判断是否存在两个整数a和b,使得a2+b2=......
  • socket 客户端服务端代码优化
    #服务端:importsocketserver=socket.socket()server.bind(('127.0.0.1',8081))server.listen(5)whileTrue:sock,addr=server.accept()whileTrue......
  • OSI传输层TCP与UDP协议、应用层简介、socket模块介绍及代码优化、半连接池的概念
    目录传输层之TCP与UDP协议应用层socket模块socket基本使用代码优化半连接池的概念传输层之TCP与UDP协议TCP与UDP都是用来规定通信方式的通信的时候可以随心所欲的聊......
  • 11月16日内容总结——OSI传输层之TCP与UDP协议、应用层简介、socket模块介绍及代码优
    目录一、传输层之TCP与UDP协议1.TCP协议(重要)三次握手建链接四次挥手断连接2.UDP协议3.tcp和udp的对比二、应用层简介三、socket模块1、简介2、基于文件类型的套接字家族3......
  • CF631E Product Sum
    前言不知道为什么题解里的李超线段树都要分两种情况讨论,我觉得的大可不必,其实一遍就好了。分析设\(ans_i\)为\(i\)移动到其他位置时获得的最大取值,\(sum_i\)为\(......
  • 【Azure Redis 缓存】Linux VM使用6380端口(SSL方式)连接Azure Redis (redis-cli & st
    本文介绍使用LinuxVM如何连接到AzureRedis,通过SSL方式(6380)或非SSL方式(6379)问题描述在AzureRedis的官方文档中,介绍了在Windows下,如何通过redis-cli.exe连接Redi......
  • DTOJ 6316 沙丘 题解
    DTOJ6316沙丘题解题面:http://59.61.75.5:8018/p/P6316在满天的星光下,灰大狼一人孤独地堆起了小沙丘。有\(n\)堆沙丘,每堆沙丘有相对高度\(h_i\),每次灰大狼可以选择......
  • P1063 能量项链 区间DP
    题干 AC记录我原本的dfs的转移式子就只有将两边的单个拎出来,将其余的大基团合并也就是这两个情况: 和但是忽视了类似这种的情况:也就是说,我没有讨论两个大基团合并......
  • P1634禽兽的传染病
    通过分析题意,知道这个题的解题思路是sum=(1+x)^n,把这个计算公式用代码写出就行。写的过程中我是通过for循环来实现次方的,在for循环中写sum=sum+sum*x。注意题目的要求保......