Python的學習 Python中高階函式的應用

2021-09-27 02:36:16 字數 4054 閱讀 3636

變數可以指向函式,函式的引數能接收變數,那麼乙個函式就可以接收另乙個函式作為引數,這種函式就稱之為高階函式。

map()函式接收兩個引數,乙個是函式,乙個是序列

map將傳入的函式依次作用到序列的每個元素,並把結果作為新的序列返回

#序列[-1,2,-3,4]的每個元素求絕對值

print(list(map(abs,[-1,2,-3,4])))

#對於序列的每個元素求階乘(10個2-9之間的隨機數)

#轉化為整型並以列表形式輸出

reduce:接收兩個引數,把乙個函式作用在乙個序列上,reduce會把結果繼續和序列的下乙個元素做累積計算

filter過濾函式:接收乙個函式和乙個序列

filter函式把傳入的函式依次作用於每個元素,然後根據返回值是true還是false來決定保留或者丟棄該元素

求99以內的偶數:

li.sort(reverse=true) #逆序顯示

print(li)

a = sorted(li) #正序顯示

#按照商品數量

def sorted_by_count(x):

return x[1]

#按照商品**

def sorted_by_price(x):

return x[2]

#先按數量由小到大,如果數量一樣

#再按**由小到大

def sorted_by_count_price(x):

return x[1],x[2]

print(sorted(info,key=sorted_by_count))

print(sorted(info,key=sorted_by_price))

print(sorted(info,key=sorted_by_count_price))

練習:#(2018-攜程-春招題)題目需求:

給定乙個整形陣列, 將陣列中所有的0移動到末尾, 非0項保持不變;

在原始陣列上進行移動操作, 勿建立新的陣列;

#輸入:

第一行是陣列長度, 後續每一行是陣列的一條記錄;40

702#輸出:

調整後陣列的內容;47

200n = 『』.join(input().split())

li = [int(i) for i in n]

def move(x):

if x == 0: #如果為0,返回值為3

return 3

else: #不為0,返回值為2

return 2

print(sorted(li,key=move)) #按返回值大小排序

匿名函式的關鍵字為lambda,冒號前面是形參,冒號後面是返回值

#求1到10的平方:

def mypow(x):

return x ** 2

print(list(map(lambda x:x**2,range(1,11))))

#求偶數:

print(list(filter(lambda x: x % 2 == 0, range(1, 101))))

#移動0:

#生成4位驗證碼

python random模組sample、randint、shuffle、choice隨機函式概念和應用:

random.random()函式是這個模組中最常用的方法了,它會生成乙個隨機的浮點數,範圍是在0.0~1.0之間。

random.uniform()正好彌補了上面函式的不足,它可以設定浮點數的範圍,乙個是上限,乙個是下限。

random.randint()隨機生乙個整數int型別,可以指定這個整數的範圍,同樣有上限和下限值,python random.randint。

random.choice()可以從任何序列,比如list列表中,選取乙個隨機的元素返回,可以用於字串、列表、元組等。

random.shuffle()如果你想將乙個序列中的元素,隨機打亂的話可以用這個函式方法。

random.sample()可以從指定的序列中,隨機的擷取指定長度的片斷,不作原地修改。

Python學習 Python下 元組 的學習

元組是不可變的,用小括號 定義,而且一旦定義 不可變 型別是tuple 元組看做乙個整體,不可拆分,不可賦值,但可以全部重新賦值 通過圓括號,用逗號分隔,常用在使語句或使用者定義的函式能夠安全地採用一組值的時候 元組的值不會改變 作用 1.保留我們不想被修改的資料 2.可以再對映 集合中當做key使...

python學習 Python的迭代器

1 什麼是迭代器 迭代器就是提供 next 方法的物件 2 如何使用迭代器 for v in it python 的 for 語句可對迭代器進行處理,它自動呼叫迭代器的 next 方法進行遍歷,並在遇到 stopiteration 異常後終止迴圈 3 有哪些迭代器?list,dict,檔案物件,都屬...

Python學習 Python函式

函式的作用 封裝功能,方便呼叫 函式的定義 定義 def 函式名 引數列表 語句return 表示式 解釋 def 函式關鍵字,表明定義乙個函式 函式名 遵守識別符號規則 引數列表的開始和結束,如果沒有引數也不可以省略 引數列表 函式的呼叫者給函式傳遞的資料 語句 封裝的功能 return 用於結束...