python(内置高阶函数)
1.高阶函数介绍:
- 一个函数可以作为参数传给另外一个函数,或者一个函数的返回值为另外一个函数(若返回值为该函数本身,则为递归),如果满足其一,则为高阶函数。
- 常见的高阶函数:map()、sorted()、filter()等也是python内置的函数,也可以自定义高阶函数,其实装饰器也算一种高阶函数。
2.内置高阶函数:
(1)map(function,iterable) 函数
- function:接收一个函数
- iterable:接受一个可迭代对象(字符串,元组,列表,字典)
- 作用:可将迭代对象 __iter1 依次代入这个函数,然后将结果组成一个列表返回
"""
#将列表 a 中的元素全部转换成字符串
a = [1,2,3,4] b = map(str,a)
print(list(b))
""" """
#将下面stu列表中的姓氏进行首字母大写操作
stu = ["ZHAo","qIan","SUN","Li"]
#自定义首字母大写方法
def NameStyle(name):
return name[0].upper() + name[1:].lower()
#使用map()函数,传入参数为,自定义的函数NameStyle名称,和可迭代对象stu
stu2 = map(NameStyle,stu)
print(list(stu2))
"""
(2)filter(function,iterable) 函数
- function:接收一个函数
- iterable:接受一个可迭代对象
- 作用:将可迭代对象依次传入该函数,通过返回值是 True 或 False 决定去留(过滤或筛选)
"""
#找出列表 strs 中的所有字符串
strs = ["a","b","c",1,2]
def get_str(x):
if isinstance(x,str): #判断传入的元素 x 是否是 str 型
return True
new_strs = filter(get_str,strs)
print(list(new_strs))
""" """
#找出列表中http链接
http = ["http://www.baidu.com","apple","http://weibo.cn","中国人"]
def ht(param):
if param.startswith("http"):
return True all_http = filter(ht,http)
print(list(all_http))
"""
(3)sorted(iterable,key,reverse) 函数
- iterable:可迭代对象
- key:主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序
- reverse:排序规则,reverse = True 降序 , reverse = False 升序(默认)
- 返回值:返回重新排序的列表
"""
#根据成绩排序
grade = [("Tom",75),("Jerry",92),("Apple",66),("Ben",88)] def get_grade(x):
return x[1] print(sorted(grade,key=get_grade))
""" """
# 根据字符串长度排序
name = ["Tom","Jerry","Apple","Ben"] def len_name(x):
return len(x) print(sorted(name,key=len_name))
"""
3.嵌套函数
- 函数内部再进行定义函数成为嵌套函数
def foo():
msg = "China"
def fo():
return msg
return fo()
print(foo())
4.匿名函数
- 特点:
- 只能有一个表达式
- 匿名函数只有一个参数
- 匿名函数也是一个函数对象,可以赋值给一个变量
- 经常配合高阶函数使用
#计算出列表中所有值的平方
li = [1,2,3,4,5]
"""
#高阶函数用法
def foo(x):
return x * x
print(list(map(foo,li)))
"""
#匿名函数用法
"""
print(list(map(lambda x: x * x,li))) #第一个 x 为参数,x * x 为计算逻辑
"""
#匿名函数赋值给变量 f f = lambda x: x * x
print(f(2))
#求出 1-20 的所有奇数
J = list(filter(lambda x: x % 2 != 0,range(1,20)))
print(J)
python(内置高阶函数)的更多相关文章
- Python内置高阶函数map()
map()函数map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于lis ...
- 匿名函数python内置高阶函数以及递归
匿名函数 python定义一个函数通常使用def关键词,后面跟函数名,然后是注释.代码块等. def func(): '''注释''' print('from func') 这样就在全局命名空间定义了 ...
- Python中匿名函数与内置高阶函数详解
大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...
- python面试_总结01_概念和内置高阶函数
- 简答题 1.请谈谈Python中is 和 == 的区别(代码演示) is用于比较两个变量是否引用了同一个内存地址,is表示的是对象标识符(object identity),作用是用来检查对象的标识 ...
- reduce内置高阶函数求和
>>> def f(x, y): ... return x+y ... >>> reduce(f, a, ) >>> reduce(lambda ...
- Python 函数式编程 & Python中的高阶函数map reduce filter 和sorted
1. 函数式编程 1)概念 函数式编程是一种编程模型,他将计算机运算看做是数学中函数的计算,并且避免了状态以及变量的概念.wiki 我们知道,对象是面向对象的第一型,那么函数式编程也是一样,函数是函数 ...
- Python中的高阶函数与匿名函数
Python中的高阶函数与匿名函数 高阶函数 高阶函数就是把函数当做参数传递的一种函数.其与C#中的委托有点相似,个人认为. def add(x,y,f): return f( x)+ f( y) p ...
- python字符串反转 高阶函数 @property与sorted(八)
(1)字符串反转 1倒序输出 s = 'abcde' print(s[::-1]) #输出: 'edcba' 2 列表reverse()操作 s = 'abcde' lt = list(s) lt.r ...
- Python入门篇-高阶函数
Python入门篇-高阶函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.高级函数 1>.First Class Object 函数在Python中是一等公民 函数也 ...
随机推荐
- 初始WebApi(1)
如果你要问我WebApi是干嘛,我只能说它是的给数据.哈哈哈哈哈,这几天也才刚刚了解了解关于WebApi的知识,今天就来谈谈吧. 1.创建WebApi项目 第一步:选择ASP.NET Web应用程序 ...
- Go gRPC进阶-超时设置(六)
前言 gRPC默认的请求的超时时间是很长的,当你没有设置请求超时时间时,所有在运行的请求都占用大量资源且可能运行很长的时间,导致服务资源损耗过高,使得后来的请求响应过慢,甚至会引起整个进程崩溃. 为了 ...
- 基于 Jepsen 来发现几个 Raft 实现中的一致性问题(2)
Nebula Graph 是一个高性能.高可用.强一致的分布式图数据库.由于 Nebula Graph 采用的是存储计算分离架构,在存储层实际只是暴露了简单的 kv 接口,采用 RocksDB 作为状 ...
- Powershell如何制定属性并输出
这个标题看着有些云里雾里.... 前一阵,群里有个朋友问博主“我想把所有用户的SMTP地址全部输出到CSV文件中进行统计,但是SMTP地址似乎输出的是错误的,可在shell里看输出的内容是正确的阿” ...
- Python发送http请求时遇到问题总结
1.报错信息为“ERROR 'str' object has no attribute 'endwith'”,排查发现endswith方法名写错了,少了s,写成了 'endwith' if inter ...
- L2 Softmax与分类模型
softmax和分类模型 内容包含: softmax回归的基本概念 如何获取Fashion-MNIST数据集和读取数据 softmax回归模型的从零开始实现,实现一个对Fashion-MNIST训练集 ...
- U - Obtain a Permutation CodeForces - 1294E 思维
题解: 注意每一列与每一列之间互不影响,所以贪心地求出没一列的最小操作值,然后累加起来. 怎么求没一列的最小值呢?维护一个数组same表示其中same[i]=j表示将该序列向上翻滚i次有j个元素归位, ...
- H - Hamiltonian Hypercube Gym - 101170H
规律题 首先我们要知道他的顺序是怎么来的,首先当n等于1时,是0,1 当n=2时,先按照与按顺序在他们前面分别加0,即00,01,在逆序加1,即11,10 构成的顺序为00,01,11,10:往后同理 ...
- git多人协作操作流程
git协作工作流程 git checkout work 自己工作分支工作 git commit -a -m ''自己工作分支提交 git checkout master 切换到主分支 git pull ...
- 极验反爬虫防护分析之slide验证方式下图片的处理及滑动轨迹的生成思路
本文要分享的内容是去年为了抢鞋而分析 极验(GeeTest)反爬虫防护的笔记,由于篇幅较长(为了多混点CB)我会按照我的分析顺序,分成如下四个主题与大家分享: 极验反爬虫防护分析之交互流程分析 极验反 ...