Python之高阶函数(functools)

复制代码
# 高阶函数 functools
import functools

# 遍历序列元素为参数依次应用到函数中,最终返回累计的结果
n = functools.reduce(lambda x, y: x + y, [1, 2, 3, 4, 5], 10)  # 等价于((((1+2)+3)+4)+5)+10
print(n)  # 25

# 偏函数:对函数进行二次包装,从而简化操作,作用类似Java重载
square = functools.partial(pow, exp=2)  # 指定为平方,简化入参
print(square(2))  # 4

# 遍历处理(Python原生函数)
mapped = map(lambda x: ord(x) + 10, "hello")
print(list(mapped))  # [114, 111, 118, 118, 121]

# 遍历后感觉条件过滤(Python原生函数)
li = filter(lambda x: x % 2, range(10))
print(list(li))  # [1, 3, 5, 7, 9]
复制代码

 

posted @   星瑞  阅读(89)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
历史上的今天:
2018-01-29 Java之使用HttpClient发送GET请求
点击右上角即可分享
微信分享提示