最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python的化簡函數(shù)reduce()詳解

 更新時間:2023年12月26日 08:46:45   作者:wrr-cat  
這篇文章主要介紹了Python的化簡函數(shù)reduce()詳解,reduce()函數(shù)即為化簡函數(shù),它的執(zhí)行過程為:每一次迭代,都將上一次的迭代結(jié)果與下一個元素一同傳入二元func函數(shù)中去執(zhí)行,需要的朋友可以參考下

一、前言

官方解釋如下:

Apply function of two arguments cumulatively to the items of sequence, from left to right, so as to reduce the sequence to a single value. For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). The left argument, x, is the accumulated value and the right argument, y, is the update value from the sequence. If the optional initializer is present, it is placed before the items of the sequence in the calculation, and serves as a default when the sequence is empty. If initializer is not given and sequence contains only one item, the first item is returned.

格式:

creduce (func, seq[, init()])

reduce()函數(shù)即為化簡函數(shù),它的執(zhí)行過程為:每一次迭代,都將上一次的迭代結(jié)果(注:第一次為init元素,如果沒有指定 init 則為 seq 的第一個元素)與下一個元素一同傳入二元func函數(shù)中去執(zhí)行。在reduce()函數(shù)中,init 是可選的,如果指定,則作為第一次迭代的第一個元素使用,如果沒有指定,就取 seq 中的第一個元素。

二、舉例

有一個序列集合,例如[1,1,2,3,2,3,3,5,6,7,7,6,5,5,5],統(tǒng)計這個集合所有鍵的重復(fù)個數(shù),例如 1 出現(xiàn)了兩次,2 出現(xiàn)了兩次等。

大致的思路就是用字典存儲,元素就是字典的 key,出現(xiàn)的次數(shù)就是字典的 value。

方法依然很多第一種:for 循環(huán)判斷

def statistics(lst): 
  dic = {} 
  for k in lst: 
    if not k in dic: 
      dic[k] = 1
    else: 
      dic[k] +=1
  return dic
lst = [1,1,2,3,2,3,3,5,6,7,7,6,5,5,5] 
print(statistics(lst)) 

第二種:比較取巧的,先把列表用set方式去重,然后用列表的count方法。

def statistics2(lst): 
  m = set(lst) 
  dic = {} 
  for x in m: 
    dic[x] = lst.count(x) 
  return dic
lst = [1,1,2,3,2,3,3,5,6,7,7,6,5,5,5] 
print statistics2(lst) 

第三種:用reduce方式

def statistics(dic,k):
  if not k in dic:
    dic[k] = 1
  else:
    dic[k] +=1
  return dic
lst = [1,1,2,3,2,3,3,5,6,7,7,6,5,5,5]
print reduce(statistics,lst,{}) 
#提供第三個參數(shù),第一次,初始字典為空,作為statistics的第一個參數(shù),然后遍歷lst,作為第二個參數(shù),然后將返回的字典集合作為下一次的第一個參數(shù)

或者

d = {} 
d.extend(lst) 
print reduce(statistics,d) 
#不提供第三個參數(shù),但是要在保證集合的第一個元素是一個字典對象,作為statistics的第一個參數(shù),遍歷集合依次作為第二個參數(shù) 

通過上面的例子發(fā)現(xiàn),凡是要對一個集合進行操作的,并且要有一個統(tǒng)計結(jié)果的,能夠用循環(huán)或者遞歸方式解決的問題,一般情況下都可以用reduce方式實現(xiàn)。

到此這篇關(guān)于Python的化簡函數(shù)reduce()詳解的文章就介紹到這了,更多相關(guān)Python的reduce()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用pandas處理CSV文件的實例講解

    Python使用pandas處理CSV文件的實例講解

    今天小編就為大家分享一篇Python使用pandas處理CSV文件的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • PyQt5每天必學(xué)之彈出消息框

    PyQt5每天必學(xué)之彈出消息框

    這篇文章主要為大家詳細介紹了PyQt5每天必學(xué)之彈出消息框,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python實現(xiàn)根據(jù)日期獲取當天凌晨時間戳的方法示例

    Python實現(xiàn)根據(jù)日期獲取當天凌晨時間戳的方法示例

    這篇文章主要介紹了Python實現(xiàn)根據(jù)日期獲取當天凌晨時間戳的方法,涉及Python針對日期與時間戳的相關(guān)轉(zhuǎn)換、運算等操作技巧,需要的朋友可以參考下
    2019-04-04
  • 從源碼到Docker全方位解析Python項目打包完整指南

    從源碼到Docker全方位解析Python項目打包完整指南

    在實際開發(fā)中,將Python項目打包成可部署的格式是一個至關(guān)重要的環(huán)節(jié),本文將全面介紹Python項目的各種打包方式,從基礎(chǔ)的分發(fā)打包到現(xiàn)代化的Docker容器化部署,希望對大家有所幫助
    2025-11-11
  • 如何配置關(guān)聯(lián)Python 解釋器 Anaconda的教程(圖解)

    如何配置關(guān)聯(lián)Python 解釋器 Anaconda的教程(圖解)

    這篇文章主要介紹了如何配置關(guān)聯(lián)Python 解釋器 Anaconda的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)火鍋工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • python搭建微信公眾平臺

    python搭建微信公眾平臺

    這篇文章主要介紹了python搭建微信公眾平臺的相關(guān)資料和技巧,感興趣的朋友可以參考一下
    2016-02-02
  • python實現(xiàn)彩票系統(tǒng)

    python實現(xiàn)彩票系統(tǒng)

    這篇文章主要介紹了python實現(xiàn)彩票系統(tǒng),主要采用面向?qū)ο蟮姆椒ǎ畔⒋鎯Ψ绞讲捎胮ickle模塊來進行存儲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Python?Pyecharts繪制象形柱圖

    Python?Pyecharts繪制象形柱圖

    echarts是百度開源的一個數(shù)據(jù)可視化JS庫,主要用于數(shù)據(jù)可視化。pyecharts是一個用于生成Echarts圖表的類庫。實際上就是Echarts與Python的對接。本文將利用pyecharts庫繪制象形柱狀圖,感興趣的可以了解一下
    2022-01-01
  • python嵌套異常的兩種處理器

    python嵌套異常的兩種處理器

    在Python中,異常也可以嵌套,本文主要介紹了python嵌套異常的兩種處理器,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • Python如何實現(xiàn)拆分數(shù)據(jù)集

    Python如何實現(xiàn)拆分數(shù)據(jù)集

    這篇文章主要介紹了Python如何實現(xiàn)拆分數(shù)據(jù)集問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評論

泗阳县| 平南县| 札达县| 曲松县| 普兰县| 伊通| 梁平县| 泰和县| 海淀区| 绿春县| 富源县| 新津县| 朝阳县| 琼结县| 彰武县| 布拖县| 南昌市| 绥棱县| 普安县| 高碑店市| 波密县| 安图县| 岑溪市| 丽水市| 万州区| 裕民县| 锦州市| 宁乡县| 锦屏县| 甘德县| 吕梁市| 福建省| 平舆县| 新津县| 遵义县| 徐水县| 兴安盟| 青冈县| 姜堰市| 汝城县| 灵武市|