Python中針對函數(shù)處理的特殊方法
很多語言都提供了對參數(shù)或變量進行處理的機制,作為靈活的Python,提供了一些針對函數(shù)處理的特殊方法
filter(function, sequence): 對sequence中的item依次執(zhí)行function(item),將執(zhí)行結果為True的item組成一個List/String/Tuple
map(function, sequence) : 對sequence中的item依次執(zhí)行function(item),見執(zhí)行結果組成一個List
reduce(function, sequence, starting_value): 對sequence中的item順序迭代調(diào)用function
sum(sequence): 對集合中的元素進行累加
下面針對上面的描述寫一個簡單的小例子:
__author__ = 'Administrator'
from functools import reduce
#主要用來掩飾map可以將某個序列中的元素傳遞給某個特殊的函數(shù)來處理
def map_demo():
#定義一個將字母轉換成大寫的函數(shù)
def to_upper(ch):
return str(ch).upper()
#對給定字符串中的每個字母應用to_upper函數(shù)
print(list(map(to_upper, "asdfasdfuasdlaksdjf".split())))
#主要使用一個基于布爾值得函數(shù)對元素進行過濾
def filter_demo():
def is_alnum(ch):
return ch.isalnum()
#!se會被過濾掉
test_list = ['sdas', '123d', '!se', '孫阿斯蒂芬']
#基于具體函數(shù)
print(list(filter(is_alnum, test_list)))
#基于列表推導
print(list(x for x in test_list if x.isalnum()))
#基于匿名函數(shù)
print(list(filter(lambda x: x.isalnum(), test_list)))
#reduce的主要功能是利用列表中的兩個元素迭代調(diào)用某個函數(shù),最后得到一個結果
#在python3中要顯示的添加 from functools import reduce
#本例中運行的過程大致是先是1+2=3,利用3+4=7,7+4.......
def reduce_demo():
print(reduce(lambda x, y: x + y, range(1, 10)))
#利用sum函數(shù)累加列表中的值
def sum_demo():
print(sum(range(10)))
if __name__ == "__main__":
#map_demo()
#filter_demo()
#reduce_demo()
sum_demo()
相關文章
python使用Pycharm創(chuàng)建一個Django項目
這篇文章主要介紹了python使用Pycharm創(chuàng)建一個Django項目,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03
Mysql分組查詢group by與with rollup方式
這篇文章主要介紹了Mysql分組查詢group by與with rollup方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
django數(shù)據(jù)模型中null和blank的區(qū)別說明
這篇文章主要介紹了django數(shù)據(jù)模型中null和blank的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09

