提高python代码运行效率

1、使用生成器,节约内存。【一边循环一边计算的机制,称为生成器:generator】

例:

.如何创建生成器

1、只要把一个列表生成式的[]改成(),就创建了一个generator:

>>> L = [x * x for x in range(10)]
>>> L
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> g = (x * x for x in range(10))
>>> g
<generator object <genexpr> at 0x1022ef630>

2、方法二, 如果一个函数中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator。调用函数就是创建了一个生成器(generator)对象

#encoding:UTF-8
def yield_test(n):
for i in range(n):
yield call(i)
print("i=",i)
print("Done.") def call(i):
return i*2 for i in yield_test(5):
print(i,",")

2、循环代码优化,避免过多重复的代码。

3、核心模块用CPython 和 PYPY提高效率。

4、多进程、多线程、协程

5、多个if elif 判断,最经常执行的放在最前面,减少循环次数,提高效率。

最新文章

  1. 深入理解Linux修改hostname
  2. Outlook 2013 在邮件里面点击超链接时弹出&ldquo;组织策略阻止我们为您完成此操作&rdquo;
  3. 用JSON-server模拟REST API(二) 动态数据
  4. 初学java之常用组件
  5. Oracle数据库对象_视图
  6. mysql中log
  7. word ppt excel文档转换成pdf
  8. nutch2.2.1
  9. python中xrange()和range()函数的区别使用:
  10. Codeforces Round #Pi (Div. 2)
  11. 【USACO 1.3.3】回文串
  12. core-site.xml配置项:hadoop.tmp.dir
  13. JEECMS用法总结
  14. ShareSDK for Android 2.3.8它已发表
  15. strlen与sizeof有什么区别?
  16. mac xcode 快捷键
  17. JSP+MySQL验证登录的实现方式
  18. 常用模块collections
  19. 测试常用的sql语句总结
  20. redis进程守护脚本

热门文章

  1. UF_LAYOUT 布局相关
  2. NX二次开发-将3X3矩阵修正为正交且长度为单位长度的矩阵
  3. spring boot 并发请求,其他系统接口,丢失request的header信息【多线程、线程池、@Async 】
  4. RESTful API实践总结
  5. Unity中各种查找物体的方法
  6. 10年程序员的编程语言感受与Go的结缘
  7. Windows10 准备/安装Flutter研发环境
  8. Qt之先用了再说系列-串口通讯(单串口单线程)
  9. 97、配置yum源仓库服务器
  10. 解决Windows Server 2012 在VMware ESXi中经常自动断网问题