python-匿名函数lambda
生活随笔
收集整理的這篇文章主要介紹了
python-匿名函数lambda
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python-匿名函數lambda
>>> def b(x,y):
...???? return lambda :x*x+y*y
...
>>> b(2,3)
<function b.<locals>.<lambda> at 0x03597198>
>>> l = b(2,3)
>>> l()
13
有些時候,我們在傳入函數時,不需要顯示的定義函數,直接傳入匿名函數更方便。在python中,對匿名函數提供了有限支持。以map()函數為例,計算f() = x2,使用匿名函數:
>>> list(map(lambda x:x*x,[1,2,3,4,5])) [1, 4, 9, 16, 25]對比可知,匿名函數lambda x:x*x 實際上相當于:
>>> def f(x): ... return x*x ...關鍵字lambda表示匿名函數,冒號前面的x表示函數的參數。
匿名函數有個限制,就是只能有一個表達式,不用謝return,返回值就是該表達式的結果。
匿名函數有個好處,因為函數沒有名字,不用擔心函數名會沖突!
匿名函數也是函數對象,所以可以把匿名函數賦值給一個變量;匿名函數也可以作為返回值返回:
>>> f = lambda x:x*x >>> f <function <lambda> at 0x0343D660> >>> f(3) 9>>> def b(x,y):
...???? return lambda :x*x+y*y
...
>>> b(2,3)
<function b.<locals>.<lambda> at 0x03597198>
>>> l = b(2,3)
>>> l()
13
例子:使用lambda函數,返回range(1,20)之間的偶數:
>>> list(filter(lambda x:x%2 == 0,range(1,20))) [2, 4, 6, 8, 10, 12, 14, 16, 18]?
posted on 2017-12-27 11:00 風雨一肩挑 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/hiwuchong/p/8124711.html
總結
以上是生活随笔為你收集整理的python-匿名函数lambda的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用符号的英文名
- 下一篇: Hive自定义UDF和聚合函数UDAF