![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
wastill
坚持,是一切拥有的基石。
展开
-
汉诺塔问题
有三根柱子,第一根主子上面有n个盘子,盘子的大小满足下面的盘子都比上面的盘子大,现在要把这n个盘子从第一个柱子移动到第三个柱子,移动的时候可以借用第二根柱子,移动时必须要求每根柱子上下面的盘子比上面的盘子大,问最少需要多少步。 汉莫塔问题是经典的递归调用问题,2年前曾经研究过这类问题,现在再重新温习一遍。当时只需要求盘子移动的次数,是依靠手动模拟,推出来5个盘子的情况,类比出来了这种问题的规律。...原创 2019-06-26 10:34:52 · 691 阅读 · 0 评论 -
生成器
生成器,generator,python中生成器有两种实现方法,分别是列表生成式和借助yield。 列表生成式 python中有一种方便强大的生成列表的方法,它可以把一个集合、一段连续的数等等生成一个列表。 下面举几个例子: 要把1~10的数字生成一个列表: >>> [m*m for m in range(1,10)] [1, 4, 9, 16, 25, 36, 49...原创 2019-06-26 11:46:06 · 97 阅读 · 0 评论 -
python高阶函数(map\reduce、filter和sorted)
map、reduce、filter、sorted这四种高阶函数有一个共同特点就是传入一个函数和一个列表,调用不同的函数对列表进行处理。 map:传入的函数一般是对单个对象进行处理,比如大写转小写,求数的绝对值等。Map负责把列表(不只是列表,只要是iterable就行)中每一个元素都带入传入的函数进行处理,返回结果也存入一个列表。 把每个元素进行加2操作: def add2(x): ...原创 2019-06-27 23:13:01 · 159 阅读 · 0 评论