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

Python中reduce()函數(shù)的用法詳細解讀

 更新時間:2023年08月21日 09:50:52   作者:IT之一小佬  
這篇文章主要介紹了Python中reduce()函數(shù)的用法詳細解讀,reduce函數(shù)是通過函數(shù)對迭代器對象中的元素進行遍歷操作,但需要注意的是?reduce?函數(shù)返回的是計算的結(jié)果,而?map/filter?返回的是作用后的迭代器對象,需要的朋友可以參考下

Python中的reduce()函數(shù)

reduce()源碼:

def reduce(function, sequence, initial=None): # real signature unknown; restored from __doc__
    """
    reduce(function, sequence[, initial]) -> value
    Apply a function of two arguments cumulatively to the items of a 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).  If initial is present, it is placed before the items
    of the sequence in the calculation, and serves as a default when the
    sequence is empty.
    """
    pass

從上述可以看到,reduce()有三個參數(shù),第一個是函數(shù)function,第二個是序列sequence,第三個是initial,為初始值,默認為None

reduce(func,lst),其中func必須至少有兩個參數(shù)。每次func計算的結(jié)果繼續(xù)和序列的下?個元素做累積計算。

注意:reduce()傳?的參數(shù)func必須至少接收2個參數(shù)。

需求:計算 list1 序列中各個數(shù)字的累加和。

示例代碼1:

import functools
list1 = [1, 2, 3, 4, 5]
#  方法一
def func(a, b):
    return a + b
result = functools.reduce(func, list1)
print(result)  # 15
# 方法二
result2 = functools.reduce(lambda x, y: x + y, list1)
print(result2)

運行結(jié)果:

示例代碼2:

import functools
list1 = [1, 2, 3, 4, 5]
#  方法一
def func(a, b):
    return a * b
result = functools.reduce(func, list1)
print(result)  # 15
# 方法二
result2 = functools.reduce(lambda x, y: x * y, list1)
print(result2)

運行結(jié)果:

示例代碼3:

import functools
list1 = [1, 2, 3, 4, 5]
list2 = [1, 1, 1, 1, 1]
list3 = [0, 0, 0, 0, 0]
list4 = [0, 0, 0, 0, 1]
result1 = functools.reduce(lambda x, y: x & y, list1)
result2 = functools.reduce(lambda x, y: x & y, list2)
result3 = functools.reduce(lambda x, y: x | y, list3)
result4 = functools.reduce(lambda x, y: x | y, list4)
print(result1)
print(result2)
print(result3)
print(result4)

運行結(jié)果:

示例代碼4:

from functools import reduce
def add(x, y):
    return x + y
a = [1, 2, 3, 4, 5]
#  reduce()兩個參數(shù)
ret1 = reduce(add, a)
print(ret1)
#  reduce()三個參數(shù)
ret2 = reduce(add, a, 6)
print(ret2)

運行結(jié)果:

示例代碼5: 【mongo和es語句中使用reduce】

from functools import reduce
from mongoengine import Q
from mongoengine.queryset.visitor import Q
from elasticsearch_dsl import Q as EQ
# query_list = ['x', 'y', 'z']  # 字符串報錯:TypeError: unsupported operand type(s) for &: 'str' and 'str'
# query_list = [2, 3]  # 2
# query_list = [2, 3, 4]  # 0
# mongo中使用
query_list = [Q(aa="aa"), Q(bb='bb'), Q(cc='cc'), Q(dd='dd')]  # (Q(**{'aa': 'aa'}) & Q(**{'bb': 'bb'}) & Q(**{'cc': 'cc'}) & Q(**{'dd': 'dd'}))
res = reduce(lambda x, y: x & y, query_list)
print(res)
# es中使用
query_list = [EQ(aa="aa"), EQ(bb='bb'), EQ(cc='cc'), EQ(dd='dd')]  # MatchAll(dd='dd')
res = reduce(lambda x, y: x & y, query_list)
print(res)

運行結(jié)果:

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

相關(guān)文章

  • python使用線程封裝的一個簡單定時器類實例

    python使用線程封裝的一個簡單定時器類實例

    這篇文章主要介紹了python使用線程封裝的一個簡單定時器類,實例分析了Python線程的使用及定時器類的實現(xiàn)技巧,需要的朋友可以參考下
    2015-05-05
  • python?實現(xiàn)?redis?數(shù)據(jù)庫的操作

    python?實現(xiàn)?redis?數(shù)據(jù)庫的操作

    這篇文章主要介紹了python?包?redis?數(shù)據(jù)庫的操作教程,redis?是一個?Key-Value?數(shù)據(jù)庫,下文基于python的相關(guān)資料展開對redis?數(shù)據(jù)庫操作的詳細介紹,需要的小伙伴可以參考一下
    2022-04-04
  • python pandas生成時間列表

    python pandas生成時間列表

    這篇文章主要介紹了python pandas生成時間列表,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-06-06
  • Python qqbot 實現(xiàn)qq機器人的示例代碼

    Python qqbot 實現(xiàn)qq機器人的示例代碼

    這篇文章主要介紹了Python qqbot 實現(xiàn)qq機器人的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • 如何在Flask中進行異常處理實例解析

    如何在Flask中進行異常處理實例解析

    這篇文章主要為大家介紹了如何在Flask中進行異常處理實例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Python輕量級ORM框架Peewee訪問sqlite數(shù)據(jù)庫的方法詳解

    Python輕量級ORM框架Peewee訪問sqlite數(shù)據(jù)庫的方法詳解

    這篇文章主要介紹了Python輕量級ORM框架Peewee訪問sqlite數(shù)據(jù)庫的方法,結(jié)合實例形式較為詳細的分析了ORM框架的概念、功能及peewee的安裝、使用及操作sqlite數(shù)據(jù)庫的方法,需要的朋友可以參考下
    2017-07-07
  • 解析numpy中的iscomplex方法及實際應(yīng)用

    解析numpy中的iscomplex方法及實際應(yīng)用

    NumPy 的 iscomplex 方法為檢查數(shù)組中的元素是否為復數(shù)提供了一種高效且易于使用的接口,本文介紹了 iscomplex 方法的基本概念、使用方法以及它在解決實際問題中的應(yīng)用,需要的朋友可以參考下
    2024-06-06
  • python ftplib上傳文件名亂碼的解決辦法

    python ftplib上傳文件名亂碼的解決辦法

    本文主要介紹了python ftplib上傳文件名亂碼的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-04-04
  • 使用python 寫一個靜態(tài)服務(wù)(實戰(zhàn))

    使用python 寫一個靜態(tài)服務(wù)(實戰(zhàn))

    今天小編就為大家分享一篇使用python 寫一個靜態(tài)服務(wù)(實戰(zhàn)),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python實現(xiàn)在線暴力破解郵箱賬號密碼功能示例【測試可用】

    Python實現(xiàn)在線暴力破解郵箱賬號密碼功能示例【測試可用】

    這篇文章主要介紹了Python實現(xiàn)在線暴力破解郵箱賬號密碼功能,結(jié)合完整實例形式分析了Python讀取txt字典文件針對郵箱的相關(guān)驗證破解操作技巧,需要的朋友可以參考下
    2017-09-09

最新評論

运城市| 正安县| 盐亭县| 象山县| 宁化县| 芦溪县| 横峰县| 柳河县| 昌黎县| 巴中市| 沅江市| 冕宁县| 太原市| 铜陵市| 江都市| 辽中县| 定兴县| 大石桥市| 天峻县| 富川| 灌阳县| 霍州市| 南部县| 荆门市| 新宁县| 行唐县| 内黄县| 武胜县| 汝州市| 宁武县| 酉阳| 文安县| 大冶市| 古交市| 眉山市| 江西省| 青铜峡市| 临武县| 玉溪市| 景泰县| 平原县|