Python高阶函数

导读:本篇文章讲解 Python高阶函数,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

Python 高阶函数

一个函数就可以接收另一个函数作为参数,这种函数就称为高阶函数。

Map() 函数用法

map(function, iterable,....)

功能
将第一个参数function 依次作用在参数可迭代对象的每个元素上, 返回包含每次 function 函数返回值的新的迭代器

参数
function — 函数, 有两个参数
iterable – 一个或 多个可迭代对象(如: 序列)

返回值
Python 3.x 返回迭代器
Demo:

def f(x):
	return  x*x 
r = map(f, [1,2,3,4,5,6,7,8,9])
print(list(r))

运行结果
[1, 4, 9, 16, 25, 36, 49, 64, 81]

Reduce () 函数语法

reduce(function, iterable[, initializer])

功能:
函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
其效果类似:reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

参数

function  --函数,有两个参数 
iterable  -- 可迭代对象 
initializer  --  可选, 初始参数

返回值
返回函数的计算结果
Demo

from functools import reduce
def add(x, y):
    return x + y
 
r = reduce(add, [1, 3, 5, 7, 9])
print(r)

运行结果:
25

filter() 函数

filter(function, iterable)

功能
该接收两个参数, 第一个参数为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False , 最后将返回True 的元素放到迭代器对象中

参数
function – 判断函数
iterable – 可迭代对象(如: 序列)

返回值:
返回一个迭代对象

def is_add(n):
	
	return n % 2 == 1
tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
newlist = list(tmplist)
print(newlist)


运行结果:
[1, 3, 5, 7, 9]

sorted() 函数

sorted(iterable, key=abs, reverse=False) 

功能
对所有可迭代的对象进行排序操作

参数

iterable -- 可迭代对象 
key      --key  指定的函数将作用于可迭代对象的每一个元素,并根据key  函数返回的结果进行排序 
reverse  -- 排序规则  ,reverse  = True 降序 ,reverse = False  升序(默认)
 

返回值
返回重新排序的列表

Lambda 表达式

只有一行代码的函数就是lanbda 表达式

lambda  输入:  输出  
f =  lambda  x: x *x    
print(f(5)) 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/77040.html

(0)
小半的头像小半

相关推荐

半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!