reduce()的使用方法形如reduce(function, iterable[, initializer]),它的形式和map()函數一樣。不過參數f(x)必須有兩個參數,initializer是可選的。
請看實例:(注意在Python3中reduce不再是內置函數,而是集成到了functools中,需要導入)
python中的map函數。# -*- coding: utf-8 -*-
#coding=utf-8
'''
python監控日志腳本?@author: tomcat
@license: (C) Copyright 2017-2019, Personal exclusive right.
@contact: liliang07@yungengxin.com
python菜鳥教程、@software: coding
@file: map.py
@time: 2019/7/24 11:53
python 3.12。'''
from functools import reduce
'''
利用map()函數,把用戶輸入的不規范的英文名字,變為首字母大寫,其他小寫的規范名字。輸入:['adam', 'LISA', 'barT'],輸出:['Adam', 'Lisa', 'Bart']:
'''
def normalize(name):
name = name[0].upper() + name[1:].lower()
return name
L1 = ['adam', 'LISA', 'barT']
L2 = list(map(normalize, L1))
print(L2)
print(tuple(map(str, ["aa", 2, 3, 4, 5, 6, 7, 8, 9])))
print(list(map(str, ["aa", 2, 3, 4, 5, 6, 7, 8, 9])))
'''
兩個數相加
'''
def add(x,y):
return x+y
res=reduce(add,[1,2,3,4,5])
res1=reduce(lambda x, y: x+y, [1,2,3,4,5])
print(res)
print(res1)
原理:
函數將一個數據集合(鏈表,元組等)中的所有數據進行下列操作:用傳給 reduce 中的函數 function(有兩個參數)先對集合中的第 1、2 個元素進行操作,得到的結果再與第三個數據用 function 函數運算,最后得到一個結果
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态