生成器和迭代器 提到生成器,总不可避免地要把迭代器拉出来对比着讲,生成器就是一个在行为上和迭代器非常类似的对象,如果把迭代器比作Android系统, 那么生成器就是ios,二者功能上差不多,但是生成器更优雅。 什么是迭代器 顾名思义,迭代器就是用于迭代操作(for循环)的对象,它像列表一样可以迭代获 ...
分类:
编程语言 时间:
2018-11-04 11:20:23
阅读次数:
115
其实算法本身不难,第一遍可以只看伪代码和算法思路。如果想进一步理解的话,第三章那些标记法是非常重要的,就算要花费大量时间才能理解,也不要马马虎虎略过。因为以后的每一章,讲完算法就是这样的分析,精通的话,很快就读完了。你所说的证明和推导大概也都是在第三章介绍了,可以回过头再认真看几遍。 至于课后题,比 ...
分类:
编程语言 时间:
2018-11-03 23:13:37
阅读次数:
199
这是悦乐书的第160次更新,第162篇原创 01 前情回顾 昨晚的爬楼梯算法题,有位朋友提了个思路,使用动态规划算法。介于篇幅问题,这里不细说动态规划算法,以后会在数据机构和算法的理论知识里细说。 昨晚的三个解法中,根据测试数据和结果,第三种解法是最优的,但是还能不能更进一步呢?经过推导,我们得知当 ...
分类:
编程语言 时间:
2018-11-03 10:25:38
阅读次数:
131
//本题给了两种递推的写法 /* 两种方法的思路总结: 都是用步数i作为迭代量 然后考虑每一步和前一步的关系 第一种方法是找出三向点和二向点的关系 第二种方法是找出当前点是由三个方向过来的,这三个方向分别又是由...过来的 再找出递推关系,再推导化简,成功优化为一元状态转移方程 */ ///ps.希... ...
分类:
其他好文 时间:
2018-11-03 02:12:21
阅读次数:
198
前言 EM算法大家应该都耳熟能详了,不过很多关于算法的介绍都有很多公式。当然严格的证明肯定少不了公式,不过推公式也是得建立在了解概念的基础上是吧。所以本文就试图以比较直观的方式谈下对EM算法的理解,尽量不引入推导和证明,希望可以有助理解算法的思路。 介绍 EM方法是专门为优化似然函数设计的一种优化算 ...
分类:
编程语言 时间:
2018-11-02 01:57:17
阅读次数:
228
# 生成器:# 生成器实质就是迭代器(省内存 惰性机制 只往前)# 1. 通过生成器函数# 2. 通过各种推导式来实现生成器 # def func():# yield# # g = func() - 得到生成 1 # 生成器函数 就是把return 换成yield 2 # return 换成 yie... ...
分类:
其他好文 时间:
2018-11-02 01:57:06
阅读次数:
138
推导式有四种,列表推导式、字典推导式、集合推导式,生成器推导式 这4类的语法都一样 [结果 for循环 if判断] 列表推导式: 语法:list = [结果 for循环 if判断] ?先我们先看一下这样的代码, 给出一个列列表, 通过循环, 向列表中添加1-14 lst = [] for i in ...
分类:
其他好文 时间:
2018-11-01 22:31:48
阅读次数:
190
什么是生成器,生成器实质是迭代器, 在python有三种方式获取生成器: 1.通过生成器函数 2.通过各种推导式来实现生成器 3.通过数据的转换也可以获取生成器 首先,我们来看一个很简单的函数: def func(): print("111") return 222 ret = func() pri ...
分类:
其他好文 时间:
2018-11-01 22:25:08
阅读次数:
312
推导式有:列表推导式,字典推导式,集合推导式 基本的用法: 列表[结果 for循环 if条件] 字典{key: value for循环 if判断} 集合推导式 {key for循环 if判断} 没有元祖的推导式,因为元祖可哈希,是只读列表,默认以元祖为格式的推导式为生成器 举例: 用推导式打印1-1 ...
分类:
编程语言 时间:
2018-11-01 19:45:48
阅读次数:
163