说说那些我也不太懂的 Python 高阶函数
来源:互联网 发布:非农历史数据一览表 编辑:程序博客网 时间:2024/04/30 07:02
map(func, list):
map 本身接收 2 个参数:一个函数、一个列表, 将 func 作用在 list 中的每一个元素上并返回一个新的 list
egg: 我们要将公司每个人的薪水提高 40% 并打印出来,就可以这样完成
#! /usr/bin/env python# -*- coding: utf-8 -*-bob = ['Bob Smith', 42, 3000, 'software']sue = ['Sue Jones', 45, 4000, 'hardware']employee = [bob,sue]def payRaise(salary): salary *= 1.4 return salaryprint(list(map(payRaise, [e[2] for e in employee]))) # 这里用到了列表解析器# 打印结果为:[4200.0, 5600.0]
reduce(func, list):
reduce 本身接收 2 个参数:一个函数、一个列表,与 map 不同之处在于 map 接收的函数只能接收一个参数,而 reduce 接收的函数只能接收2个参数,reduce 依次反复对 list 中每一个元素进行 func 操作,并将最终结果返回
egg: 我们要将一个列表中所有的数求和,就可以这样完成
#! /usr/bin/env python# -*- coding: utf-8 -*-from functools import reduce # 在 Python 3 里,reduce()函数已经被从全局名字空间里移除了,它现在被放置在 fucntools 模块里,用的话要先导入score = [1,2,3,4,5,6,7]def mySum(a, b): return a + bprint(reduce(mySum, score))# 打印结果为:28
filter(func, list)
filter 本身也接受2个参数:一个函数,一个列表, 将 func 作用在 list 中的每一个元素上进行判断,将判断结果为 True 的元素返回,并生成一个生成器对象
egg: 我们要得到 1-100 里面所有的奇数,就可以这样完成
#! /usr/bin/env python# -*- coding: utf-8 -*-def is_odd(x): return x % 2 != 0 all_num = range(1,101) # python 3 中 range 函数返回生成器对象odd_generator = filter(is_odd, list(all_num)) # filter 函数然会生成器对象print(list(odd_generator)) # 打印列表# 打印结果为:1-100 所有奇数
- 进一步交流可以加 QQ 群:397234385
- 或者 QQ 扫码入群:
0 0
- 说说那些我也不太懂的 Python 高阶函数
- 说一说那些我也不太懂的 python with 语句
- 说一说那些我也不太懂的 Python 装饰器
- 说说我面试过的那些公司
- 今天的我也不太清楚的即时通讯
- 类似spfa?我也不太清楚
- 说说我从面试到工作的那些事儿
- 说说我看过的那些C语言书
- toggle函数不是点击了才调用么?怎么我的初始状态只是一瞬间就被替代了,而且还替换后的样式也不太对
- 说说 JavaScript 中那些有趣而且强大的高级函数
- 我对高阶函数的思考
- python高阶函数
- python 高阶函数
- python高阶函数
- Python高阶函数
- python 高阶函数
- python高阶函数
- Python高阶函数
- (转)移动互联加速金融科技的渗透 中国将成为全球最大智能投顾市场
- 5-18 银行业务队列简单模拟 (25分)
- JavaScript中用let语句声明作用域的用法讲解
- [vijos1456] 最小总代价
- 模板测试
- 说说那些我也不太懂的 Python 高阶函数
- Linux搭建负载均衡集群,使用LVS的NAT模式
- JDBC与JDBC-2、开发
- 函数式编程
- slf4j-api、slf4j-log4j12以及log4j之间什么关系?
- 【爬虫二】爬取豆瓣音乐榜单
- Linux内核使用位图为进程分配pid
- Oulipo POJ - 3461
- C++ 并发编程的一种思维