欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中abs&map&reduce簡介

 更新時間:2018年02月20日 10:48:42   作者:wander-clouds  
map與reduce是兩個十分常用的Python內(nèi)置函數(shù),它們與Hadoop中的MapReduce在某些方面有一定的相似之處。

abs函數(shù)

可以把函數(shù)本身賦值給變量
>>> f = abs
變量可以指向函數(shù)
>>> f = abs
>>> f(-10)
10
abs函數(shù)實際上是定義在import builtins模塊中的,所以要讓修改abs變量的指向在其它模塊也生效,要用import builtins; builtins.abs = 10

傳入函數(shù)
一個函數(shù)接收另一個函數(shù)作為參數(shù),這種函數(shù)就稱之為高階函數(shù)。

def add(x, y, f):
return f(x) + f(y)

當(dāng)我們調(diào)用add(-5, 6, abs)時,參數(shù)x,y和f分別接收-5,6和abs,根據(jù)函數(shù)定義,我們可以推導(dǎo)計算過程為:

x = -5
y = 6
f = abs
f(x) + f(y) ==> abs(-5) + abs(6) ==> 11

map

map()函數(shù)接收兩個參數(shù),一個是函數(shù),一個是Iterable,
map將傳入的函數(shù)依次作用到序列的每個元素,并把結(jié)果作為新的Iterator返回

>>> def f(x):
... return x * x
...
>>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> list(r)
[1, 4, 9, 16, 25, 36, 49, 64, 81]

map()傳入的第一個參數(shù)是f,即函數(shù)對象本身
通過list()函數(shù)讓它把整個序列都計算出來并返回一個list
把這個list所有數(shù)字轉(zhuǎn)為字符串:

>>> list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
['1', '2', '3', '4', '5', '6', '7', '8', '9']

reduce

reduce把一個函數(shù)作用在一個序列[x1, x2, x3, ...]上。
這個函數(shù)必須接收兩個參數(shù),
reduce把結(jié)果繼續(xù)和序列的下一個元素做累積計算,其效果就是:

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

把序列[1, 3, 5, 7, 9]變換成整數(shù)13579,reduce就可以派上用場:

>>> from functools import reduce
>>> def fn(x, y):
... return x * 10 + y
...
>>> reduce(fn, [1, 3, 5, 7, 9])
13579

相關(guān)文章

  • 使用Python實現(xiàn)分別輸出每個數(shù)組

    使用Python實現(xiàn)分別輸出每個數(shù)組

    今天小編就為大家分享一篇使用Python實現(xiàn)分別輸出每個數(shù)組,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python實現(xiàn)定時任務(wù)利器之a(chǎn)pscheduler使用詳解

    Python實現(xiàn)定時任務(wù)利器之a(chǎn)pscheduler使用詳解

    在Python中,還可以用第三方包來管理定時任務(wù),比如celery、apscheduler。相對來說apscheduler使用起來更簡單一些,這里來介紹一下apscheduler的使用方法
    2022-10-10
  • Python Loguru日志封裝裝飾器實現(xiàn)過程

    Python Loguru日志封裝裝飾器實現(xiàn)過程

    這篇文章主要介紹了Python Loguru日志封裝裝飾器實現(xiàn)過程,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • Python ARP掃描與欺騙實現(xiàn)全程詳解

    Python ARP掃描與欺騙實現(xiàn)全程詳解

    這篇文章主要介紹了Python 實現(xiàn)ARP掃描與欺騙,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • Django掃碼抽獎平臺的配置過程詳解

    Django掃碼抽獎平臺的配置過程詳解

    這篇文章主要介紹了Django掃碼抽獎平臺,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Python獲取接口請求耗時的方法詳解

    Python獲取接口請求耗時的方法詳解

    你想知道我們請求一個url的時候,握手和請求資源分別占用多長時間么?今天我們就來使用python寫個小案例來看看,感興趣的可以跟隨小編一起了解一下
    2023-04-04
  • python實現(xiàn)圖片批量壓縮

    python實現(xiàn)圖片批量壓縮

    這篇文章主要介紹了python實現(xiàn)圖片批量壓縮的方法,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-04-04
  • python爬蟲學(xué)習(xí)筆記之Beautifulsoup模塊用法詳解

    python爬蟲學(xué)習(xí)筆記之Beautifulsoup模塊用法詳解

    這篇文章主要介紹了python爬蟲學(xué)習(xí)筆記之Beautifulsoup模塊用法,結(jié)合實例形式詳細(xì)分析了python爬蟲Beautifulsoup模塊基本功能、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • pandas添加新列的5種常見方法

    pandas添加新列的5種常見方法

    pandas為DataFrame格式數(shù)據(jù)添加新列的方法非常簡單,下面這篇文章主要給大家介紹了關(guān)于pandas添加新列的5種常見方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • Python實戰(zhàn)之看圖猜字游戲的實現(xiàn)

    Python實戰(zhàn)之看圖猜字游戲的實現(xiàn)

    看圖猜成語,是考驗一個人的反應(yīng)能力,也考驗一個人的右腦思維。據(jù)說越聰明的人,這道題的完成率越高。本文就來用Python實現(xiàn)這一經(jīng)典小游戲,需要的可以參考一下
    2023-02-02

最新評論