------------(高階函式)
把函式當成引數進行傳遞的函式。
1.sorted(iterable,key,reverse) //其中的key是乙個函式引數。
sorted(list1,key = 函式) ------>通過key這個函式指定規則
dict1 =
對dict1按分數排序
sorted(dict1) ------> 此時按建排序
result = sorted(dict1.items(),key = lambda x:x[1])
result ----->是乙個列表,裡面巢狀元組。
dict(result) ------->強轉為字典
2.map(function,*iterable) ----對映(函式,可迭代的物件)
給乙個可迭代的物件,通過function的作用,將其轉換成乙個新的物件。
map1 = map(lambda x : x ** 2,[1,2,3,4,5]) ---->返回乙個map物件。
print(map1) ----->檢視結果,必須強轉成需求。list(map1)
map0 = map(lambda x : x ** 2,[1,2,3],[4,4,5])
3.filter(function or none ,iterable):
------>返回值是乙個filter object
------>需要對返回值進行強轉,如:list(filter).......
------>function函式的返回值必須是bool型別。
numbers = [2,3,4,5,5,0,6,6]
filter = filter(none,numbers) ----->返回乙個filter物件,返回值必須為真。
filter = filter(lambda x:a%2==0,numbers) ----->返回乙個filter物件,返回值必須為真。
list1 = ['hello', 30, '80', 50, 'hi100', '99', 'yes']
filter(lambda x:isinstance(x,int) or x.isdigit(),list1)
4.reduce(function,iterable): 返回乙個value
from functools import reduce ------>使用前必須匯入包
引數function是函式,此函式的引數必須是兩個lambda x,y:x*y
引數iterable是乙個可迭代的物件。
reduce(lambda x,y:x*y,range(1,6)) ----->計算階乘
list = [3,5,6,5,4]
result = reduce(lambda x,y:x+y,list)
5.functools模組:主要是使用三個函式。
from functools import partial,wraps,reduce
@reduce(), @partial()[偏函式], @wraps()
6.partial():偏函式
是通過將乙個函式的部分引數預先繫結為某些值,從而得到乙個
新的具有較少可變引數的函式。
int1 = partial(int,base=8)
int1('123') ----將'123'傳給int變為整數型別,
然後將8進製數轉為10進製。
def add(x,y):
return x+y
add1 = partial(add,3) ------> 固定乙個值
r = add1(8) --------> 傳入乙個值
7.wraps():消除裝飾器帶來的一些***。---->名字和文件的不一致性。
裝飾器內層函式上加上,@wraps(函式名)
obj.__name__ ----->獲取函式名
obj.__doc__ ----->獲取文件注釋
高階函式與Python3幾個內建函式
這篇文章簡談高階函式與python3中幾個內建函式的例題 高階函式就是能接受函式作引數的函式。我們知道變數可以指向函式,而函式的引數可以接受變數,乙個函式可以接收另乙個函式作為引數,能接受函式作為引數的函式就是高階函式。比如說,乙個簡單的高階函式 def shu 1 print 宇宙之大 def s...
Python高階 來談談幾個常用的內建函式
匿名函式 lambda表示式 在python中,函式可以算的上是 一等公民 了,我們先回顧下函式的優點 減少 重複量 模組化 但是我們有沒有想過,如果我們需要乙個函式,比較簡短,而且只需要使用一次 無需重複呼叫 那還需要定義乙個有名字的函式麼?答案是否定的,這裡我們就可以使用匿名函式來實現這樣的功能...
Vim的幾個高階玩法
在linux中編輯檔案的場景非常之多,掌握一些關鍵命令和技巧。能夠大大提高效率,使用體驗也順暢很多。1976年由bill joy完成編寫vi,並由bsd發布。從2006年開始,作為 單一unix規範 的一部分,vi或vi的一種變形版本一定會在類unix系統中找到。vim是vi的乙個變形版本,功能更加...