1、map
我們提供的服務有:成都做網站、網站設計、微信公眾號開發(fā)、網站優(yōu)化、網站認證、孟村ssl等。為近1000家企事業(yè)單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的孟村網站制作公司
map()函數(shù)接受兩個參數(shù),一個是函數(shù),一個是Iterable,map將傳入的函數(shù)依次作用到序列的每一個元素上,并把結果作為新的Iterator返回。
舉例,比如我們有一個函數(shù)f(x)=x*2,要把這個函數(shù)作用在一個list[1, 2, 3, 4, 5, 6, 7, 8,
9]上,就可以用map()實現(xiàn)。
def f(x):
... return x*2
...
r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
list(r)
[2, 4, 6, 8, 10, 12, 14, 16, 18]
所以,map()作為高階函數(shù),事實上它把運算規(guī)則抽象了,因此,我們不但可以計算簡單的f(x)=x*2,還可以計算任意復雜的函數(shù),比如把這個list所有的數(shù)字轉為字符串:
list(map(str,[1, 2, 3, 4, 5, 6, 7, 8, 9]))
["1", "2", "3", "4", "5", "6", "7", "8", "9"]
2、reduce
reduce是把一個函數(shù)作用在一個序列[x1, x2,
x3……]上,這個函數(shù)必須接收兩個參數(shù),reduce把結果繼續(xù)和序列的下一個元素做累計計算。簡單來說,就是先計算x1和x2的結果,再拿結果與x3計算,依次類推。比如說一個序列求和,就可以用reduce實現(xiàn)。
from functools import reduce
def add(x, y):
... return x + y
...
reduce(add, [1, 3, 5, 7, 9])
25
也就是說,假設python沒有提供int()函數(shù),你完全可以自己寫一個把字符串轉化為整數(shù)的函數(shù),而且只需要幾行代碼。
3、filter
用于過濾序列,和map函數(shù)類似,filter也接收一個函數(shù)和一個序列,不同于map的是,filter把傳入的函數(shù)依次作用于每一個元素,然后根據返回值是True還是False決定保留還是丟棄該元素,例如,在一個list中,刪掉偶數(shù),只保留奇數(shù),可以這么寫:
def is_odd(n):
return n % 2 == 1
list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
# 結果: [1, 5, 9, 15]
把一個序列中的空字符串刪掉,可以這么寫:
def not_empty(s):
return s and s.strip()
list(filter(not_empty, ["A", "", "B", None, "C", " "]))
# 結果: ["A", "B", "C"]
可見用filter()這個高階函數(shù),關鍵在于正確實現(xiàn)一個篩選函數(shù)。
4、sorted
無論冒泡排序還是快速排序,排序的核心是比較兩個元素的大小。如果是數(shù)字,我們可以直接比較,但如果是字符串或者兩個dict呢?直接比較數(shù)學上的大小是沒有意義的,因此,比較的過程必須通過函數(shù)抽象出來,Python內置的sorted()函數(shù)就可以對list進行排序:
sorted([36, 5, -12, 9, -21])
[-21, -12, 5, 9, 36]
此外,sorted()函數(shù)也是一個高階函數(shù),它還可以接收一個key函數(shù)來實現(xiàn)自定義的排序,例如按絕對值大小排序:
sorted([36, 5, -12, 9, -21], key=abs)
[5, 9, -12, -21, 36]
python常見的內置函數(shù)有:
1. abs()函數(shù)返回數(shù)字的絕對值。
2. all() 函數(shù)用于判斷給定的參數(shù)中的所有元素是否都為 TRUE,如果是返回 True,否則返回 False。元素除了是 0、空、None、False 外都算 True;空元組、空列表返回值為True。
3. any() 函數(shù)用于判斷給定的參數(shù)是否全部為False,是則返回False,如果有一個為True,則返回True。 元素除了是 0、空、False外都算 TRUE。
4. bin()函數(shù)返回一個整數(shù)int或者長整數(shù)long int的二進制表示。
5. bool() 函數(shù)用于將給定參數(shù)轉換為布爾類型,如果參數(shù)不為空或不為0,返回True;參數(shù)為0或沒有參數(shù),返回False。
6. bytearray()方法返回一個新字節(jié)數(shù)組。這個數(shù)組里的元素是可變的,并且每個元素的值范圍: 0 = x 256(即0-255)。即bytearray()是可修改的二進制字節(jié)格式。
7. callable()函數(shù)用于檢查一個對象是否可調用的。對于函數(shù)、方法、lambda函式、類以及實現(xiàn)了 __call__ 方法的類實例, 它都返回 True。(可以加括號的都可以調用)
8. chr()函數(shù)用一個范圍在range(256)內(即0~255)的整數(shù)作參數(shù),返回一個對應的ASCII數(shù)值。
9. dict()函數(shù)用來將元組/列表轉換為字典格式。
10. dir()函數(shù)不帶參數(shù)時,返回當前范圍內的變量、方法和定義的類型列表;帶參數(shù)時,返回參數(shù)的屬性、方法列表。
擴展資料:
如何查看python3.6的內置函數(shù)?
1、首先先打開python自帶的集成開發(fā)環(huán)境IDLE;
2、然后我們直接輸入"dir(__builtins__)",需要注意的是builtins左右的下劃線都是兩個;
3、回車之后我們就可以看到python所有的內置函數(shù);
4、接下來我們學習第二種查看python內置函數(shù)的方法,我們直接在IDLE中輸入"import builtins",然后輸入"dir(builtins)";
5、然后回車,同樣的這個方法也可以得到所有的python內置的函數(shù);
6、這里我們可以使用python內置函數(shù)len()來查看python內置函數(shù)的個數(shù),這里我們直接輸入"len(dir(builtins))";
7、回車之后我們可以看到系統(tǒng)返回值153,說明我們現(xiàn)在這個版本中有153個內置函數(shù);
8、最后我們介紹一個比較有用的內置函數(shù)"help",python內置函數(shù)有一百多個,我們當然不能記住所有的函數(shù),這里python提供了一個"help"函數(shù),我們來看一個例子一起來體會一下help函數(shù)的用法,這里我們直接輸入"help(len)",然后回車,會看到系統(tǒng)給我們對于內置函數(shù)"len"的解釋,當然對于其他函數(shù)可能會有更加詳細的解釋以及用法提示。
在學習Python的過程中,有幾個比較重要的內置函數(shù):help()函數(shù)、dir()函數(shù)、input()與raw_input()函數(shù)、print()函數(shù)、type()函數(shù)。
第一、help()函數(shù)
Help()函數(shù)的參數(shù)分為兩種:如果傳一個字符串做參數(shù)的話,它會自動搜索以這個字符串命名的模塊、方法等;如果傳入的是一個對象,就會顯示這個對象的類型的幫助。比如輸入help(‘print’),它就會尋找以‘print’為名的模塊、類等,找不到就會看到提示信息;而print在Python里是一個保留字,和pass、return同等,而非對象,所以help(print)也會報錯。
第二、dir()函數(shù)
dir()函數(shù)返回任意對象的屬性和方法列表,包含模塊對象、函數(shù)對象、字符串對象、列表對象、字典對象等。盡管查找和導入模塊相對容易,但是記住每個模塊包含什么卻不是這么簡單,您并不希望總是必須查看源代碼來找出答案。Python提供了一種方法,可以使用內置的dir()函數(shù)來檢查模塊的內容,當你為dir()提供一個模塊名的時候,它返回模塊定義的屬性列表。dir()函數(shù)適用于所有對象的類型,包含字符串、整數(shù)、列表、元組、字典、函數(shù)、定制類、類實例和類方法。
第三、input與raw_input函數(shù)
都是用于讀取用戶輸入的,不同的是input()函數(shù)期望用戶輸入的是一個有效的表達式,而raw_input()函數(shù)是將用戶的輸入包裝成一個字符串。
第四、Print()函數(shù)
Print在Python3版本之間是作為Python語句使用的,在Python3里print是作為函數(shù)使用的。
第五、type()函數(shù)
Type()函數(shù)返回任意對象的數(shù)據類型。在types模塊中列出了可能的數(shù)據類型,這對于處理多種數(shù)據類型的函數(shù)非常有用,它通過返回類型對象來做到這一點,可以將這個類型對象與types模塊中定義類型相比較。
分享文章:四類函數(shù)python的簡單介紹
網站地址:http://jinyejixie.com/article24/hpchje.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供品牌網站建設、網站內鏈、用戶體驗、網站改版、標簽優(yōu)化、微信公眾號
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)