Python利用partial偏函數(shù)生成不同的聚合函數(shù)
介紹
偏函數(shù)(functools.partial),主要用來解決函數(shù)中某些參數(shù)是已知的固定值。利用偏函數(shù)的概念,可以生成一些新的函數(shù),在調(diào)用這些新函數(shù)時(shí),不用再傳遞固定值的參數(shù),這樣可以使代碼更簡潔
下面列舉一些偏函數(shù)的巧妙使用方法,在使用偏函數(shù)時(shí),需要從標(biāo)準(zhǔn)庫functools中導(dǎo)入
from functools import partial
小編環(huán)境
import sys
print('python 版本:',sys.version.split('|')[0])
#python 版本: 3.11.4
生成不同的聚合函數(shù)
1. 創(chuàng)建底層的元函數(shù)、函數(shù)類
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. 基于函數(shù)類,來生成不同的聚合函數(shù)
基于內(nèi)建函數(shù)創(chuàng)建(python中可以直接使用的函數(shù))
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])
基于自定義函數(shù)創(chuàng)建
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到此這篇關(guān)于Python利用partial偏函數(shù)生成不同的聚合函數(shù)的文章就介紹到這了,更多相關(guān)Python生成不同的聚合函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python tkinter實(shí)現(xiàn)的圖片移動碰撞動畫效果【附源碼下載】
這篇文章主要介紹了Python tkinter實(shí)現(xiàn)的圖片移動碰撞動畫效果,涉及Python tkinter模塊操作圖片基于坐標(biāo)動態(tài)變換與數(shù)值判定實(shí)現(xiàn)移動、碰撞檢測等相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
Python使用xlrd和xlwt批量讀寫excel文件的示例代碼
這篇文章主要介紹了Python使用xlrd和xlwt批量讀寫excel文件,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03
簡單了解Django項(xiàng)目應(yīng)用創(chuàng)建過程
這篇文章主要介紹了簡單了解Django項(xiàng)目應(yīng)用創(chuàng)建過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
python實(shí)現(xiàn)給微信公眾號發(fā)送消息的方法
這篇文章主要介紹了python實(shí)現(xiàn)給微信公眾號發(fā)送消息的方法,結(jié)合實(shí)例形式分析了Python針對微信公眾號接口操作的相關(guān)技巧,需要的朋友可以參考下2017-06-06
Python利用Redis計(jì)算經(jīng)緯度距離案例
這篇文章主要介紹了Python利用Redis計(jì)算經(jīng)緯度距離案例,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-09-09
Python OpenCV學(xué)習(xí)之圖形繪制總結(jié)
在圖像的任務(wù)中,不管是圖像檢測還是圖像識別,我們都需要通過繪制圖形和繪制文字對處理的結(jié)果進(jìn)行說明,本篇就詳細(xì)介紹下OpenCV中的圖形的繪制,感興趣的可以了解一下2022-01-01
python datatable庫大型數(shù)據(jù)集和多核數(shù)據(jù)處理使用探索
這篇文章主要介紹了python datatable庫大型數(shù)據(jù)集和多核數(shù)據(jù)處理使用探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01

