在Python中,函數可以算的上是“一等公民”了,我們先回顧下函數的優點:
成都創新互聯公司主要從事成都網站設計、成都網站建設、網頁設計、企業做網站、公司建網站等業務。立足成都服務華池,十年網站建設經驗,價格優惠、服務專業,歡迎來電咨詢建站服務:028-86922220
但是我們有沒有想過,如果我們需要一個函數,比較簡短,而且只需要使用一次(無需重復調用),那還需要定義一個有名字的函數么?
答案是否定的,這里我們就可以使用匿名函數來實現這樣的功能。
我們先看看求一個數的平方,我們定義個函數怎么寫:
def square(x):
return x**2
square(3)
而lambda表達式就可以這樣寫:
square = lambda x: x**2
square(3)
根據上面的例子,其實lambda表達式使用還是很簡單的,如下:
lambda argument1, argument2,.....: expression
接下來,介紹的map、filter和reduce函數,與lambda表達式結合使用,才能發揮其強大的作用了。
map函數的使用如下:
map(function, iterable)
其作用是,對iterable的每個元素,都運用function這個函數,最后返回新的可遍歷的集合。
a = [1,2,3,4,5]
b = map(lambda x: x*2,a)
print(list(b))
# [2, 4, 6, 8, 10]
filter函數的使用如下:
filter(function, iterable)
其作用是,對iterable的每個元素,都運用function這個函數進行判斷,最后返回全部為True的新的可遍歷的集合。
'''
學習中遇到問題沒人解答?小編創建了一個Python學習交流群:
尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書!
'''
a = [1,2,3,4,5,6]
b = filter(lambda x :x%2 ==0, a)
print(list(b))
# [2, 4, 6]
reduce函數的使用如下:
reduce(function, iterable)
function規定有兩個參數,表示對iterable每個元素和上一次運算的結果,進行function運算,最后得到一個值,這里要注意,我們需要從functools中導入reduce。
from functools import reduce
a = [1,2,3,4]
b = reduce(lambda x,y: x*y,a)
print(b)
# 24 1*2*3*4
名稱欄目:Python教程:幾個常用的內置函數
鏈接地址:http://m.kartarina.com/article26/dsogpjg.html
成都網站建設公司_創新互聯,為您提供定制網站、網站內鏈、面包屑導航、搜索引擎優化、網站導航、
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯