首页 > 编程语言 >python 高阶函数

python 高阶函数

时间:2022-10-25 18:02:02浏览次数:47  
标签:函数 迭代 python res lst func 高阶 Iterable

概念

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

一、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)

 

标签:函数,迭代,python,res,lst,func,高阶,Iterable
From: https://www.cnblogs.com/songyunjie/p/16825747.html

相关文章

  • tf怎么创建层函数
    tf.zeros()函数创建一个所有元素都设置为零的张量.tf.zeros([3,4],tf.int32)#[[0,0,0,0],[0,0,0,0],[0,0,0,0]] 函数参数:shape:整数、整数元组或......
  • Python-json库
    json库python原始类型与json类型的转化对照表:PythonJSONdictobjectlist(,tuple)arrayunicode(,str)stringint(,long)number(int)float......
  • 仿函数(函数对象)functor的用法
    引子在set的类模板中,插入元素是会自动排序的,那么这是如何实现的呢。默认的set<int> setl;这种写法,他会调用默认的less函数对象less函数对象实现比较,为排序提供依据,se......
  • python TypeError: send_request() missing 1 required positional argument: 'self'
    问题场景:封装request的时候写了一个类,然后请求的时候接口报TypeError:send_request()missing1requiredpositionalargument:'self'首先封装的代码是这样的,如下图......
  • python内置方法
    1、abs绝对值2、round四舍五入(如果是浮点数,奇进偶不进)3、sum计算一个序列的和4、max取序列最大值5、min取序列最小值6、pow计算某个数值的x次方7、range产生......
  • 友元函数破坏了类的封装和信息隐藏
    在c++中,通过类可以实现数据的封装性和信息隐藏的能力,而友元函数则破坏了类的封装和信息隐藏的能力,使得类的私有属性的成员变量可以被其他类对象的方法直接访问。#include<......
  • 常见的数字和字符串的函数
     数字函数pycharm中使用ctrl+鼠标左键查看详细的函数int将字符串转换为int(注意:input输入的都是字符串即使你输入的是数字,也需要使用int函数将字符串转为为数字)#!/......
  • python实现二叉树并且遍历
    python实现二叉树并且遍历2.1二叉树的遍历2.1.1前序遍历(根左右)二叉树的前序遍历的步骤如下:访问树的根节点---->访问当前节点的左子树---->若当前节点无左子树,访......
  • script python and python interpreter
    sPython和Python解释器https://www.cnblogs.com/nickchen121/p/10722729.html目录一、Python介绍二、Python解释器发展史三、Python解释器的类型3.1CPython3.2......
  • Python命名空间(函数)
    作用域:作用范围#命名空间:划分一块区域保存所有的数据,以字典方式存储(变量与值形成映射关系)#内建命名空间:解释器启动时创建,直到解释器运行结束,生存周期最长#全局命名空......