python学习-Day14-高阶函数
来源:互联网 发布:iphone搞怪视频软件 编辑:程序博客网 时间:2024/06/06 13:08
高阶函数:把函数当作参数进行传递;
map()函数:第一个参数为自定义函数,第二个参数为一个可迭代对象
lt = (1, 2, 3, 4, 5)def f2(x): return x*xm1 = map(f2, lt)print (type(m1))print (m1)
<type 'list'>[1, 4, 9, 16, 25]
reduce()函数:传入的函数必须接受两个元素;把可迭代对象的前两个参数作为函数的实参,传入到f函数中;把每次f运算结果作为第一个实参,可迭代对象的下一个元素作为另一个实参传入函数f中,以此类推最终得到结果
def f(x, y): return x + yprint(reduce(f, [1, 2, 3, 4, 5], 10))
25filter函数:每次把可迭代对象的元素传入进去,如果返回为true,则保留该元素;如果返回为false则不保留该元素。
a = [1, 2, 3, 4, 5]def is_old(x): return x%2 == 1print(is_old(5))\\这里返回结果来判断是否保留元素print(filter(is_old, a))
True[1, 3, 5]
在知道某个方法或变量则可以进行查询源码的方式,来查看使用方法。eg:help(sorted)
sorted()函数:对字典进行排序。
mm = dict(a=1, b=10, c=3, d=9)print(mm)print(dir(mm)) \\查看字典相关的方法for i in mm: print ifor j in mm.iteritems(): print(j)test = sorted(mm.iteritems(), key=lambda d: d[1])print test
{'a': 1, 'c': 3, 'b': 10, 'd': 9}a
c
b
d
('a', 1)
('c', 3)
('b', 10)
('d', 9)
[('a', 1), ('c', 3), ('d', 9), ('b', 10)]
留疑:如果以key为顺序排序呢,即结果为:[('a', 1),('b', 10),('c', 3),('d',9)]呢?
匿名函数:没有名字的函数,用来快速定义函数。
def sum(x, y): return x + yprint sum(7, 8)\\这里使用两种不同的方法来定义加法的函数m = lambda x, y: x+yprint(m(4, 5))
159
阅读全文
0 0
- python学习-Day14-高阶函数
- python学习-高阶函数
- Python学习十二:高阶函数
- Python学习笔记 - 高阶函数
- python学习——高阶函数
- 2017.6.27 python学习 高阶函数
- python学习8------高阶函数
- python学习之高阶函数
- Python学习随笔八:高阶函数
- Python学习笔记----高阶函数
- Python-day14
- day14 python css 漂浮的学习
- day14 Python css positon学习 之 fixed
- python 学习笔记---函数式编程之高阶函数
- 【Python学习日记】函数式编程 之 高阶函数
- 【Python学习笔记】函数式编程:高阶函数
- 【Python学习笔记】函数式编程:高阶函数filter
- 【Python学习笔记】函数式编程:高阶函数sorted
- Python的set集合详解
- 学习hibernate遇到的问题及解决方案
- ios下点击label包含的input checkbox或radio无效问题
- DIV+CSS规范命名大全集合
- Java 基础巩固:再谈抽象类和接口
- python学习-Day14-高阶函数
- 将本地仓库文件上传到git
- iOS-打包成ipa的4种方法
- 实验楼sql SELECT 语句详解之查询出各员工所在部门的人数与工程数
- 机器猫
- 洛谷P2634 聪聪可可(BZOJ2152)
- 栈练习 杭电1002 栈实现大数运算
- 机器学习实践之三排序和CTR预估问题
- Educational Codeforces Round 31(ABCD):有向图求环长度/数据结构贪心