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 匿名函式定義後可以直接呼...