這幾個函數在 Python 里面被稱為高階函數,本文主要學習它們的用法。
創(chuàng)新互聯(lián)服務項目包括沙雅網站建設、沙雅網站制作、沙雅網頁制作以及沙雅網絡營銷策劃等。多年來,我們專注于互聯(lián)網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網行業(yè)的解決方案,沙雅網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到沙雅省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
filter 函數原型如下:
第一個參數是判斷函數(返回結果需要是 True 或者 False),第二個為序列,該函數將對 iterable 序列依次執(zhí)行 function(item) 操作,返回結果是過濾之后結果組成的序列。
簡單記憶:對序列中的元素進行篩選,獲取符合條件的序列。
返回結果為: ,使用 list 函數可以輸入序列內容。
map 函數原型如下:
該函數運行之后生成一個 list,第一個參數是函數、第二個參數是一個或多個序列;
下述代碼是一個簡單的測試案例:
上述代碼運行完畢,得到的結果是: 。使用 print(list(my_new_list)) 可以得到結果。
map 函數的第一個參數,可以有多個參數,當這種情況出現(xiàn)后,后面的第二個參數需要是多個序列。
map 函數解決的問題:
reduce 函數原型如下:
第一個參數是函數,第二個參數是序列,返回計算結果之后的值。該函數價值在于滾動計算應用于列表中的連續(xù)值。
測試代碼如下:
最終的結果是 6,如果設置第三個參數為 4,可以運行代碼查看結果,最后得到的結論是,第三個參數表示初始值,即累加操作初始的數值。
簡單記憶:對序列內所有元素進行累計操作。
zip 函數原型如下:
zip 函數將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。
如果各個迭代器的元素個數不一樣,則返回列表長度與最短的對象相同,利用星號( * )操作符,可以將元組解壓為列表。
測試代碼如下:
展示如何利用 * 操作符:
輸出結果如下:
簡單記憶:zip 的功能是映射多個容器的相似索引,可以方便用于來構造字典。
enumerate 函數原型如下:
參數說明:
該函數用于將一個可遍歷的數據對象組合為一個索引序列,同時列出數據和數據下標,一般用在 for 循環(huán)當中。
測試代碼如下:
返回結果為: 。
本文涉及的函數可以與 lambda 表達式進行結合,能大幅度提高編碼效率。最好的學習資料永遠是官方手冊
函數原型 :range(start, end, scan):
參數含義 :start:計數從start開始。默認是從0開始。例如range(5)等價于range(0, 5);
end:技術到end結束, 但不包括end. 例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
scan:每次跳躍的間距,默認為1。例如:range(0, 5) 等價于 range(0, 5, 1)
里面的一個坑:
我的理解是for循環(huán)是針對里面的每一個在range(5)的數進行循環(huán)里面的操作。
程序的輸出結果如下:
函數:len()
1:作用: 返回字符串、列表、字典、元組等長度
2:語法: len(str)
3:參數:
str:要計算的字符串、列表、字典、元組等
4:返回值 :字符串、列表、字典、元組等元素的長度
5:實例
用len()求得數組a的長度為4,其中range(len(a))等價于range(4),輸出結果都為[0,1,2,3]
choice()需要import random
功能:返回列表、元組、字符串的隨即項
import math
r=math.floor(3.2) #向下取整
print(r)
r=math.ceil(4.5) #向上取整
print(r)
r=abs(-2)
r=round(4.5) #四舍五入
r=math.pow(3,2) #冪運算
r=math.sqrt(25) #開平方
其中 函數fabs和abs的區(qū)別:函數fabs的作用是求浮點數x的絕對值;函數abs的作用是求x的絕對值。fabs函數原型:double fabs(double x);abs函數原型:int fabs(int x)。fabs函數參數:參數x是一個浮點數;abs函數參數:參數x是一個整數