Python利用partial偏函数,生成不同的聚合函数
2023-12-26 19:08:43
介绍
偏函数(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
历史相关文章
以上是自己实践中遇到的一些问题,分享出来供大家参考学习,欢迎关注微信公众号:DataShare ,不定期分享干货
文章来源:https://blog.csdn.net/zhangtingduo/article/details/135227460
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!