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

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

 更新時(shí)間:2023年12月26日 08:46:45   作者:wrr-cat  
這篇文章主要介紹了Python的化簡(jiǎn)函數(shù)reduce()詳解,reduce()函數(shù)即為化簡(jiǎn)函數(shù),它的執(zhí)行過程為:每一次迭代,都將上一次的迭代結(jié)果與下一個(gè)元素一同傳入二元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ù)即為化簡(jiǎn)函數(shù),它的執(zhí)行過程為:每一次迭代,都將上一次的迭代結(jié)果(注:第一次為init元素,如果沒有指定 init 則為 seq 的第一個(gè)元素)與下一個(gè)元素一同傳入二元func函數(shù)中去執(zhí)行。在reduce()函數(shù)中,init 是可選的,如果指定,則作為第一次迭代的第一個(gè)元素使用,如果沒有指定,就取 seq 中的第一個(gè)元素。

二、舉例

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

大致的思路就是用字典存儲(chǔ),元素就是字典的 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,{}) 
#提供第三個(gè)參數(shù),第一次,初始字典為空,作為statistics的第一個(gè)參數(shù),然后遍歷lst,作為第二個(gè)參數(shù),然后將返回的字典集合作為下一次的第一個(gè)參數(shù)

或者

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

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

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

相關(guān)文章

  • Python使用pandas處理CSV文件的實(shí)例講解

    Python使用pandas處理CSV文件的實(shí)例講解

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

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

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

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

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

    從源碼到Docker全方位解析Python項(xiàng)目打包完整指南

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

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

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

    python搭建微信公眾平臺(tái)

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

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

    這篇文章主要介紹了python實(shí)現(xiàn)彩票系統(tǒng),主要采用面向?qū)ο蟮姆椒?,信息存?chǔ)方式采用pickle模塊來進(jìn)行存儲(chǔ),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Python?Pyecharts繪制象形柱圖

    Python?Pyecharts繪制象形柱圖

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

    python嵌套異常的兩種處理器

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

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

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

最新評(píng)論

桦甸市| 中宁县| 玉屏| 乌拉特中旗| 苍南县| 清涧县| 土默特左旗| 嘉禾县| 河北省| 浪卡子县| 太谷县| 焉耆| 赫章县| 临朐县| 岗巴县| 施甸县| 会理县| 金门县| 永吉县| 遵义市| 芜湖市| 侯马市| 县级市| 巧家县| 南平市| 贡山| 大新县| 东丽区| 马尔康县| 台前县| 乌什县| 锦州市| 台山市| 吴旗县| 浏阳市| 吴忠市| 临汾市| 长垣县| 新津县| 会宁县| 泗阳县|