python高阶函数

map

map函数的作用是对于其迭代器中的每一个元素,拿出来,传入函数,得到的结果放到原来的位置。
最后返回一个修改后的新的迭代器

1734701-20190919140748535-325378387.png

1734701-20190919140801361-2077832178.png

其并没有返回一个列表类型,而是返回了一个可以迭代的对象,其类型是map
1734701-20190919140815900-1908289487.png

不过我们可以将其转化为列表,不过奇怪的是我们遍历了一次之后,发现转化成的列表空了

1734701-20190919140849339-1166655718.png

1734701-20190919140901990-1112173905.png

传入多个参数

def expo(x,y):
    return x**y
r=map(expo,range(5),range(5))
list(r)#1,1,4,27,256

reduce

格式:reduce(function,iterator)

function函数必须接受两个参数,把继续和的结果继续和序列的下一个元素进行计算

reduce(f,[??, ??, ??, ??])=f(f(f(??, ??), ??), ??))

from functools import reduce
def fact(x,y):
    return x*y

r=reduce(fact,[1,2,3,4,5,6])
print(r)
#720

fliter

格式:fliter(function,sequence)
作用:过滤sequence,保留序列中使得function(item)=True的选项
返回fliter对象

def is_even(x):
    if x%2==0:
        return True
    elif x%2==1:
        return False


ls=list(filter(is_even,range(10)))
print(ls)

sorted

sorted内置函数

格式:
sorted(iterator,key,reverse=True)
将key定义的函数作用到iterator每个元素后,再进行排序
返回一个列表类型

sorted([1,2,39,8,46,12,56])
#[1, 2, 8, 12, 39, 46, 56]

自定义排序

sorted([1,2,-39,8,46,-12,56],key=abs)
[1, 2, 8, 12, 39, 46, 56]

倒序

sorted([1,2,3,4,5,6,7],reverse=True)
[7, 6, 5, 4, 3, 2, 1]

转载于:https://www.cnblogs.com/mengxiaoleng/p/11549206.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值