python 中常用的高阶函数
filter 过滤
filter()
函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。- 语法:filter(function, iterable)
- 参数:function(判断函数),iterable (可迭代对象)
- 返回值:
- Python 2.x 返回列表
- Python 3.x 返回迭代器
# python 2.7 def is_odd(n): return n % 2 == 1 alist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) print(alist) # python 3.x def is_odd(n): return n % 2 == 1 alist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) newlist = list(alist) print(newlist)
map 映射
- 接收一个函数 f 和一个或多个序列 list,并通过把函数 f 依次作用在 序列 list 的每个元素上,得到一个新的 list 并返回。
- 语法:map(function, iterable, …)
- 参数:function – 函数,iterable – 一个或多个序列
- 返回值:
- Python 2.x 返回列表
- Python 3.x 返回迭代器
# 计算平方数 def square(x) : return x ** 2 map_result = map(square, [1,2,3,4,5]) # 计算列表各个元素的平方值 print(list(map_result))
sorted 排序
- 对所有可迭代的对象进行排序操作。
- 语法:sorted(mylist, [reverse,key])
- 参数:
- mylist,需要被排序的可迭代对象
- reverse 排序规则(reverse = True 降序 , reverse = False 升序(默认))
- key:指定的函数将作用于 list 的每一个元素上,并根据 key 函数返回的结果进行排序
- 返回值:返回重新排序的列表
>>> before=[1,4,2,5,0] >>> after=sorted(before) >>> after [0, 1, 2, 4, 5] >>> before [1, 4, 2, 5, 0] ## 倒序排序 >>> after1=sorted(before,reverse=True) >>> after1 [5, 4, 2, 1, 0] ## 使用规则排序,key为abs,对前面的一组数据取绝对值 ,然后再排序 >>> sorted([-1,4,3,2,0],key=abs) [0, -1, 2, 3, 4]
总结
python 中提供了一些内置的高阶函数,可以很方便的处理数据序列。
比如:对列表中的所有数据进行运算得到一组新的数据,对序列中的数据进行排序等等。不需要导包,可以直接拿过来使用,常用的 filter,map,sorted 等等。:
知道、想到、做到、得到
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)