脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python利用partial偏函数生成不同的聚合函数

Python利用partial偏函数生成不同的聚合函数

2024-04-01 10:14数据人阿多 Python

本文主要介绍了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生成不同的聚合函数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家! 

原文链接:https://blog.csdn.net/zhangtingduo/article/details/135227460

 

延伸 · 阅读

精彩推荐
  • Pythondjango2 快速安装指南分享

    django2 快速安装指南分享

    下面小编就为大家分享一篇django2 快速安装指南分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    入沐三分5352021-01-01
  • Pythonpython中tab键是什么意思

    python中tab键是什么意思

    在本篇内容里小编给大家整理了关于python中的tab键表示什么意思的相关内容,需要的朋友们可以参考学习下。...

    silencement11922020-06-19
  • Python基于pycharm导入模块显示不存在的解决方法

    基于pycharm导入模块显示不存在的解决方法

    今天小编就为大家分享一篇基于pycharm导入模块显示不存在的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    李家小少爷5832021-04-07
  • Pythonpython上下文管理器异常问题解决方法

    python上下文管理器异常问题解决方法

    在本篇文章里小编给大家整理的是一篇关于python上下文管理器异常问题解决方法,对此有兴趣的朋友们可以学习参考下。...

    小妮浅浅3672021-09-04
  • Pythonpython运行时间的几种方法

    python运行时间的几种方法

    这篇文章主要为大家详细介绍了python运行时间的几种方法,分析每一种运行时间方法的利弊,感兴趣的小伙伴们可以参考一下 ...

    wswang12422020-08-28
  • PythonPython安装Graphviz超详细图文教程

    Python安装Graphviz超详细图文教程

    这篇文章主要介绍了Python安装Graphviz超详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...

    哈怂Hasong12342023-03-01
  • PythonPython cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例

    Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方

    这篇文章主要介绍了Python找到最大或最小的N个元素实现方法,涉及Python基于heapq模块进行集合运算的相关操作技巧,需要的朋友可以参考下...

    垄上行4082021-01-16
  • PythonPython实现的凯撒密码算法示例

    Python实现的凯撒密码算法示例

    这篇文章主要介绍了Python实现的凯撒密码算法,简单介绍了凯撒密码的概念、原理并结合实例形式分析了Python实现凯撒密码算法的相关定义与使用操作技巧...

    chengqiuming8972021-01-30