python高階函式有很多,我們這裡主要介紹六種常用的高階函式:
語法:解釋
示例:
#view code例一:sum = lambda a,b:a+b
print(sum(10,20)) #
30print(sum(20,30)) #50
#例二:
#對字典排序
infors = [,,]
infors.sort(key=lambda x:x['
age']) #
根據值對字典排序
(infors)#
例三:
deftest(a,b,func):
result =func(a,b)
return
result
num = test(11,22,lambda x,y:x+y)
print(num) #
33
語法示例
#view code例一:def
is_odd(n):
return n % 2 == 1alist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(list(alist)) #
[1, 3, 5, 7, 9]#
例二:my_list=[1,2,'',3,4,'
6','']
new_list=list(filter(none,my_list))
print(new_list) #
[1, 2, 3, 4, '6', ' ']
#注:none 函式 過濾掉'' 而不是過濾掉空字串
語法解釋
示例
#view code例一:lst=[1,2,3,4,5,6,7,8,9]
deff(x):
return x*x
lst1=list(map(f,lst))
(lst1)#
例二:首字母大寫,其他小寫
defstandard_name(s):
a = s[0:1].upper() + s[1:].lower()
returna
lst = ['
zhangsan
','lisi
','wangwu
','zhaoliu']
(map(standard_name,lst))
for i in
map(standard_name,lst):
(i) ##
zhangsan
#lisi
#wangwu
#zhaoliu
語法示例
#view code注意 :在python3中如果使用reduce需要先導入#
例一:from functools import
reduce
lst=[1,2,3,4,5,6]
defsum(x,y):
return x+y
(reduce(sum,lst))
#例二:
from functools import
reduce
deff(a,b):
return a+b
s = reduce(f,[1,2,3,4],10)
print(s) #
1+2+3+4+10.這裡的第三個引數是做為初始值的。
python 函式高階 python 函式高階
形參角度 萬能引數 動態接收位置引數 args 動態接收關鍵字引數 kwargs 的魔性用法 函式定義時 代表聚合。他將所有的位置引數 聚合成乙個元組,賦值給了args 函式定義時 將所有的關鍵字引數聚合成乙個字典中,將這個字典賦給了 kwargs 和 在函式的呼叫時 代表打散 僅限關鍵字引數 de...
Python高階 函式高階
閉包 closure 常規函式中可以在函式的引數中新增引數的預設值來簡化函式的操作,偏函式也可以做到這一點,而且會更加的方便管理函式的操作。通過內建模組functools的partial進行定義和處理 語法結構 新函式名稱 functools.partial 函式名稱,預設賦值引數 例如 全域性函式...
python 函式 高階函式
filter 函式是 python 內建的另乙個有用的高階函式,filter 函式接收乙個函式 f 和乙個list,這個函式 f 的作用是對每個元素進行判斷,返回 true或 false,filter 根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件元素組成的新list。例如判斷奇偶數 def...