匿名函式高階用法

2021-09-22 12:38:19 字數 1088 閱讀 6928

from functools import

reduce

# reduce在python3被移動到了functools

list1 =[1

,2,3

,4,5

,6,7

,8]# 匿名函式作用於list1中的元素,將每乙個元素+1

result1 =

list

(map

(lambda x: x +

1, list1)

)print

(result1)

# [2, 3, 4, 5, 6, 7, 8, 9]

list2 =[11

,22,33

,44,55

,66,77

,88]# 匿名函式過濾掉list2中元素結果false的元素

result2 =

list

(filter

(lambda x: x %2==

0, list2)

)print

(result2)

# [22, 44, 66, 88]

list3 =[1

,2,3

,4,5

]# reduce必須接收兩個引數,reduce把第一次返回的結果繼續和序列的下乙個元素做累積計算

result3 =

reduce

(lambda x, y: x + y, list3)

print

(result3)

# 15

""" 需求:將list4中的元素,按照正數在前面;負數在後面;並且整數從小到大;負數從大到小。"""

list4 =[1

,6,-

2,-100,45

,4,19

,-7]

result4 =

sorted

(list4, key=

lambda x:

[x <0,

abs(x)])

print

(result4)

# [1, 4, 6, 19, 45, -2, -7, -100]

高階函式和匿名函式

1.高階函式 高階函式就是把函式當成引數傳遞的函式。例如 def add x,y,f return f x f y print add 4,3,abs 結果是 7 map 函式 map 函式的python內建的高階函式,他接受乙個函式f 和引數list,並把list的元素傳遞給函式f,然後返回乙個函...

Python高階函式 匿名函式

當我們在傳入函式時,有些時候,不需要顯示定義函式,直接傳入匿名函式更方便。在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算f x x 2時,除了定義乙個f x 的函式外,還可以直接傳入匿名函式 list map lambda x x x,1,1,2,3,4,5,6,7,8,9...

Python 函式高階 匿名函式

不需要使用def去定義,也不用給函式取名字,用lambda表示式來定義,這種函式叫做匿名函式 lambda 引數 表示式 作為返回值 將以下函式改為匿名函式 普通函式 def func var1 return var1 2 匿名函式寫法 lambda var1 var1 2 匿名函式定義後可以直接呼...