lambdafiltermapreduce函数的基本使用
生活随笔
收集整理的這篇文章主要介紹了
lambdafiltermapreduce函数的基本使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
'''
Created on 2019-03-14
Author:Binzhou
Project:python中lambda filter map reduce函數使用總結
'''
#lambda匿名函數,格式lambda x,y:x+y 表示一個函數的參數是x,y,函數實現功能是x+y
#filter[function,sequence]用于過濾序列 返回迭代器對象(包含所有滿足使function返回值為True的sequence值)
#python2直接返回與sequence一致的數據類型(列表,元組)
print(filter(lambda x:x*x-4,range(10)))#用于過濾序列 返回迭代器對象<filter object at 0x000000000113C940>
print(list((filter(lambda x:x*x-4,range(10)))))#使用list將迭代器對象轉換成list,結果為TRUE的入參
print(list((filter(lambda x:x*x,range(10))))) #序列0傳入使結果為False,返回結果無0
#map[function,sequence1,...]將函數調用映射到每個序列的對應元素上,入參序列為列表,返回迭代器對象
print(map(lambda x,y:x*y-4,range(3),[8,9,10]))#將函數調用映射到每個序列的對應元素上,返回迭代器對象<map object at 0x00000000011B5DA0>
print(list(map(lambda x,y:x*y-4,range(3),[8,9,10])))#使用list將迭代器對象轉換成list
#reduce[function,sequence,inital=None]:先把sequence中第一個值和第二個值當參數傳給function,再把function的返回值和第三個值當參數傳給fuction,最終返回一個結果值(似累加)
# 在Python 3里,reduce()函數已經被從全局名字空間里移除了,它現在被放置在fucntools模塊里 用的話要 先引
# from functools import reduce
from functools import reduce
print(reduce(lambda x,y:x+y,range(10)))#返回0-9的累加結果 # 第一次調用function時,如果提供initial參數,會以sequence中的第一個元素和initial作為參數調用function,否則會以序列sequence中的前兩個元素做參數調用function。
# reduce(lambda x, y: x + y, [2, 3, 4, 5, 6], 1)
# 結果為21( ?(((((1+2)+3)+4)+5)+6) ?)
# reduce(lambda x, y: x + y, [2, 3, 4, 5, 6])
# 結果為20
Created on 2019-03-14
Author:Binzhou
Project:python中lambda filter map reduce函數使用總結
'''
#lambda匿名函數,格式lambda x,y:x+y 表示一個函數的參數是x,y,函數實現功能是x+y
#filter[function,sequence]用于過濾序列 返回迭代器對象(包含所有滿足使function返回值為True的sequence值)
#python2直接返回與sequence一致的數據類型(列表,元組)
print(filter(lambda x:x*x-4,range(10)))#用于過濾序列 返回迭代器對象<filter object at 0x000000000113C940>
print(list((filter(lambda x:x*x-4,range(10)))))#使用list將迭代器對象轉換成list,結果為TRUE的入參
print(list((filter(lambda x:x*x,range(10))))) #序列0傳入使結果為False,返回結果無0
#map[function,sequence1,...]將函數調用映射到每個序列的對應元素上,入參序列為列表,返回迭代器對象
print(map(lambda x,y:x*y-4,range(3),[8,9,10]))#將函數調用映射到每個序列的對應元素上,返回迭代器對象<map object at 0x00000000011B5DA0>
print(list(map(lambda x,y:x*y-4,range(3),[8,9,10])))#使用list將迭代器對象轉換成list
#reduce[function,sequence,inital=None]:先把sequence中第一個值和第二個值當參數傳給function,再把function的返回值和第三個值當參數傳給fuction,最終返回一個結果值(似累加)
# 在Python 3里,reduce()函數已經被從全局名字空間里移除了,它現在被放置在fucntools模塊里 用的話要 先引
# from functools import reduce
from functools import reduce
print(reduce(lambda x,y:x+y,range(10)))#返回0-9的累加結果 # 第一次調用function時,如果提供initial參數,會以sequence中的第一個元素和initial作為參數調用function,否則會以序列sequence中的前兩個元素做參數調用function。
# reduce(lambda x, y: x + y, [2, 3, 4, 5, 6], 1)
# 結果為21( ?(((((1+2)+3)+4)+5)+6) ?)
# reduce(lambda x, y: x + y, [2, 3, 4, 5, 6])
# 結果為20
轉載于:https://www.cnblogs.com/BinZhou0901/p/10530154.html
總結
以上是生活随笔為你收集整理的lambdafiltermapreduce函数的基本使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《剑指offer》第五十题(字符串中第一
- 下一篇: 在nodejs中的集成虹软人脸识别