Python18 高階函式

2021-09-22 22:50:07 字數 1332 閱讀 2009

高階函式

def handle(func, *param):

return func(*param)

def my_sum(*param):

sum = 0

for i in param:

sum += i

return sum

print(handle(my_sum, 1, 2, 3, 4, 5))

系統中自帶的高階函式

def power(n):

return n ** 2

res = map(power, [1, 2, 3, 4, 5])

print(list(res))

res = map(lambda x: x ** 2, [1, 2, 3, 4, 5])

#ps:此處res是乙個迭代器,內部相當於乙個指標,使用一次指標往後移一次,所以遍歷後print(list(res))為空

from functools import reduce

mylist = [1, 2, 3, 4, 5]

res = reduce(lambda x, y: x * y, mylist)

print(res)

** filter(func,iteralbe)**

過濾器,根據func來過濾iterable,將iterable中的資料傳入函式,如果函式返回true,就保留該資料,否則就不保留,即func的返回值為bool型別

list_one = [1, 2, 3, 4, 5, 6, 7, 8, 9]

res = list(filter(lambda x: x % 2 == 1, list_one))

print(res)

sorted(iterable,key=none,reverse=false)

對資料進行排序,key用指定排序的規則,值是乙個函式,reverse用來指定是否降序

list_two = [1,3,234,-34,1,24,-234,3,3,6,]

#res = list_two.sort() #就地排序,會對原資料進行更改

# print(res)

new_list = sorted(list_two,key=abs) #按絕對值大小進行排序。如果是list自帶的sort方法會影響原始資料,系統級的函式不會影響原始資料

print(new_list)

print(list_two)

《易學Python》 1 8 總結

本章介紹了一些基本知識,要使用python進行程式設計,您必須掌握這些知識。您大致了解一些知識 程式設計的定義 程式設計哲學 程式設計師經常面臨的各種問題 還了解了一些細節 如何安裝和執行python 如何建立程式 如何通過圖形使用者介面和命令列執行程式。長期而言,應對可能出現的錯誤是最重要的程式設...

python 18 靈活即強大

myfirstfunction 孟華 傳遞進來的孟華叫做實參,因為它是具體的引數值!doc saysome 小甲魚 讓變成改變世界 小甲魚 讓變成改變世界 saysome 讓程式設計改變世界!小甲魚 讓程式設計改變世界!小甲魚 saysome words 讓程式設計改變世界!name 小甲魚 小甲魚...

python18年校招真題

1 小易有一些彩色的磚塊。每種顏色由乙個大寫字母表示。各個顏色磚塊看起來都完全一樣。現在有乙個給定的字串s,s中每個字元代表小易的某個磚塊的顏色。小易想把他所有的磚塊排成一行。如果最多存在一對不同顏色的相鄰磚塊,那麼這行磚塊就很漂亮的。請你幫助小易計算有多少種方式將他所有磚塊排成漂亮的一行。如果兩種...