• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
菩提叶子
博客园    首页    新随笔    联系   管理    订阅  订阅
python 高阶函数

概念

能把函数当成参数传递的就是高阶函数

一、map

"""
map(func,Iterable)
    功能:处理数据
    把Iterable中的数据一个一个拿出来,扔到func函数中做处理,把处    理好的结果放到迭代器中,最后返回迭代器  
    参数:
        func:自定义函数或者内置函数
    
        iterable:可迭代数据(容器类型数据,range对象,迭代器)
      返回值:
            迭代器
"""
lst = ["1","2","3"]
lst1 = map(int,lst)

二、reduce

"""
reduce(func.Iterable)
    功能:计算数据
    先把Iterable中的前两个值拿出来,扔到func当中做运算,把计算结果和iterable中的第三个元素扔到func当中做运算,再把结果算出来和第四个元素做运算,以此类推
     参数:
           func:自定义函数
           Iterable:可迭代数据(容器类型数据,range对象,迭代器)
      返回值:
            计算之后的结果      
"""
from functools import reduce
def func(x,y)
        return x*10+y
lst = [1,2,6,8]
res = reduce(func,lst)
print(res)

三、sorted

"""
sorted(Iterable,key=函数,reverse=False)
    功能:排序
     参数:
           Iterable:可迭代数据(容器类型数据,range对象,迭代器)
           key:指定自定义函数或者内置函数
           reverse:代表升序或者降序,默认升序
      返回值:
            排序之后的结果      
"""
#1,默认升序
lst = [1,2,3,4,-90,,2,100,-55]
res = sroted(lst)
#2,降序
res = sroted(lst,reverse=True)
#3.指定内置函数
res = sroted(lst,key=abs)
#4,使用自定义函数进行排序
def func(n):
    return n % 10
res = sorted(lst,key=func)
#sort 和sorted区别
1、sorted可以排序一切容器类型数据,sort只针对列表排序
2、sorted返回新列表,sort基于原列表修改

四、filter

"""
filter(func,Iterable)
    功能:过滤
     return True 当前数据保留
     return False 当前数据舍弃
     参数:
           Iterable:可迭代数据(容器类型数据,range对象,迭代器)
           func:自定义函数
      返回值:
            迭代器      
"""
#过滤列表元素
lst = [1,2,3,4,5,6,7,8,9,10]
def func(i):
    if i % 2 ==0:
        return True
    else:
        return False
res = filter(func,lst)
print(res)

 

posted on 2022-10-25 17:51  菩提叶子  阅读(32)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3