python 高阶函数学习

高阶函数

介绍python 高阶函数的使用方法

map/reduce函数

map函数
利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。
输入:[‘adam’, ‘LISA’, ‘barT’],输出:[‘Adam’, ‘Lisa’, ‘Bart’]:

def f(name):return name[0].upper()+name[1:].lower()
L1 = ['adam', 'LISA', 'barT']
L2 = list(map(f,L1))
print(L2)

reduce函数
编写一个prod()函数,可以接受一个list并利用reduce()求积:

from functools import reduce
def prod(L):def fn(x,y):return x*yreturn reduce(fn,L)print('3 * 5 * 7 * 9 =', prod([3, 5, 7, 9]))
if prod([3, 5, 7, 9]) == 945:print('测试成功!')
else:print('测试失败!')

filter函数

filter函数用于过滤序列

#筛选出奇数
def is_odd(n):return n % 2 == 1list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
# 结果: [1, 5, 9, 15]
#把序列中的控制符串删掉
def not_empty(s):return s and s.strip()list(filter(not_empty, ['A', '', 'B', None, 'C', '  ']))
# 结果: ['A', 'B', 'C']

sorted 排序函数

sorted函数对学生成绩和名字进行排序

L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
def by_name(t):# t[0]代表姓名列,t[1]代表分数列return t[0].upper()
def by_score(t):return t[1]  #默认排列顺序从高到低,从低到高取反t[-1]
L2 = sorted(L, key=by_name)
L1 = sorted(L, key=by_score)
print(L1)
print(L2)

返回函数

函数作为返回值i 实现闭包功能

返回函数不能引用循环变量,返回一个函数时没有立即执行,需调用才能执行

def lazy_sum(*args):def sum():ax = 0for n in args:ax = ax + nreturn axreturn sum
f = lazy_sum(1,3,5,7,9)
print(f())

返回函数引用循环变量 方法为在创建一个函数 用该函数的参数去绑定循环变量当前的值 如下代码:

def count():def f(j):def g():return j*jreturn gfs = []for i in range(1,4):fs.append(f(i))return fs
f1,f2,f3 = count()
print(f1())
print(f2())
print(f3())
==输出结果==1,4,9

就先写这么多吧 作为今天的一个高阶函数学习 ,python学习还是很方便的。
人生苦短,我用python哈哈

python学习总结1—高阶函数相关推荐

  1. python学习——函数式编程——高阶函数

    python学习--函数式编程--高阶函数 函数式编程(高阶函数):1:map && reduce; 2 : filter; 3: sorted; ------------------ ...

  2. Python学习日志10 - 高阶函数和高级应用

    Python学习日志 RBHGO的主页欢迎关注 温馨提示:创作不易,如有转载,注明出处,感谢配合~ 目录 文章目录 Python学习日志 目录 前言 进入正题 Python学习日志10课 - 高阶函数 ...

  3. Python学习之Part09.高阶函数filter(),map(),reduce(),sorted()

    1.高阶函数 一个函数作为参数传给另外一个函数: 一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归) # abs()用来求一个数的绝对值 # 将abs函数赋值,则f==abs f = a ...

  4. 【廖雪峰Python学习笔记】高阶函数

    Higher-order function 高阶函数 映射 过滤算法 排序算法 高阶函数 变量可指向函数 >>> abs # 函数 <built-in function abs ...

  5. python函数式编程、高阶函数

    1.map() python内置的高阶函数,接收一个函数f和一个list,并通过把函数f依次作用在list的每个元素上,得到一个新的list并返回. def f(x):return x * xprin ...

  6. Python中常用的高阶函数

    Python 中常用的高阶函数 ① filter(function,iterable)filter(function, iterable)filter(function,iterable)   过滤器 ...

  7. 廖雪峰讲python高阶函数求导公式_廖雪峰的学习笔记(三)高阶函数

    1.所谓的"高阶函数":把函数对象作为参数的函数. 2.示例: map()函数: 我们先看map.map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数 ...

  8. Python基础教程:高阶函数和函数嵌套

    1.高阶函数: 由于python中一切皆对象,变量是对象,函数也是对象,函数也能像变量那样进行传递.一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为 ...

  9. python 惰性序列_菜鸟学飞自学Python(五)高阶函数

    (仅个人学习摘抄) 函数式编程 函数式编程就是一种抽象程度很高的编程范式,特点是允许把函数本身作为参数传入到另一个函数,还允许返回一个函数. 高阶函数 高阶函数--Higher-order funct ...

最新文章

  1. Java取模函数,再不刷题就晚了!
  2. Python可视化应用实战-如何制作酷炫的图表?
  3. Java JDK11快速下载地址
  4. java中正则表达式
  5. 拥有开源安全背景的开发员当选白宫技术总监
  6. 用python的进行压缩文件
  7. 查询优化器内核剖析第六篇:谈谈Join的顺序问题,纠正江湖偏方
  8. 姜启源《数学模型》第12章:马氏链模型
  9. BPSK调制与解调-MATLAB基带仿真
  10. 【计算理论】非确定性有限自动机 ( NFA ) 转换成 确定性有限自动机 ( DFA )
  11. 大师级思考者是怎么探索事物本质的?
  12. 简单粗暴使用Qt图表Qt Chart之barchart
  13. 《财务报表分析从入门到精通》——读书笔记
  14. GHOST备份还原系统教程
  15. 大学物理——关于误差
  16. 中国互联网的发展历程
  17. hdu2859 Phalanx(线性dp)
  18. 《网络安全》课程论文
  19. ssh中dao自定义的模板类
  20. 2021年中国箱包发展现状及进出口状况分析:进出口金额均有所增加,贸易顺差进一步扩大 [图]

热门文章

  1. 做自媒体,有哪些免费下载视频剪辑素材的网站?
  2. 2021-09-30-THZ-前置
  3. ReentrantLock解锁流程
  4. Python 中 __dict__的用法
  5. 2022P02014139杨智关于香农编码、哈夫曼编码和费诺编码的比较
  6. Corral the Cows POJ - 3179(二分+前缀和+离散化)
  7. [散文]芒果女人(作者:毕淑敏)
  8. Javascript(前端知识)----------基础语法
  9. 如果我是pm之 演出电影vr购票展示
  10. elevation 设置无效果