Python利用partial偏函数生成不同的聚合函数
介绍
偏函数(functools.partial),主要用来解决函数中某些参数是已知的固定值。利用偏函数的概念,可以生成一些新的函数,在调用这些新函数时,不用再传递固定值的参数,这样可以使代码更简洁
下面列举一些偏函数的巧妙使用方法,在使用偏函数时,需要从标准库functools中导入
from functools import partial
小编环境
import sys
print('python 版本:',sys.version.split('|')[0])
#python 版本: 3.11.4
生成不同的聚合函数
1. 创建底层的元函数、函数类
from functools import partial
def aggregation_fn_meta(aggregation_fn, values):
return aggregation_fn(values)
def aggregation_fn_class(aggregation_fn):
return partial(aggregation_fn_meta, aggregation_fn)
2. 基于函数类,来生成不同的聚合函数
基于内建函数创建(python中可以直接使用的函数)
sum_fn=aggregation_fn_class(sum) sum_fn([1,2,3,4,5,1,2,10]) #28 max_fn=aggregation_fn_class(max) max_fn([1,2,3,4,5,1,2,10]) #10 min_fn=aggregation_fn_class(min) min_fn([1,2,3,4,5,1,2,10])
基于自定义函数创建
def count(values):
return len(values)
count_fn=aggregation_fn_class(count)
count_fn([1,2,3,4,5,1,2,10]) #8
def distinct_count(values):
return len(set(values))
distinct_count_fn=aggregation_fn_class(distinct_count)
distinct_count_fn([1,2,3,4,5,1,2,10]) #6到此这篇关于Python利用partial偏函数生成不同的聚合函数的文章就介绍到这了,更多相关Python生成不同的聚合函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
这篇文章主要介绍了Python tkinter实现的图片移动碰撞动画效果,涉及Python tkinter模块操作图片基于坐标动态变换与数值判定实现移动、碰撞检测等相关操作技巧,需要的朋友可以参考下2018-01-01
Python使用xlrd和xlwt批量读写excel文件的示例代码
这篇文章主要介绍了Python使用xlrd和xlwt批量读写excel文件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-03-03
python datatable库大型数据集和多核数据处理使用探索
这篇文章主要介绍了python datatable库大型数据集和多核数据处理使用探索,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2024-01-01


最新评论