python經(jīng)典函數(shù),Python中常用函數(shù)

Python基礎(chǔ)之常見(jiàn)內(nèi)建函數(shù)

map() 函數(shù)接受兩個(gè)參數(shù),一個(gè)是函數(shù),一個(gè)是可迭代對(duì)象(Iterable), map 將傳入的函數(shù)依次作用到可迭代對(duì)象的每一個(gè)元素,并把結(jié)果作為迭代器(Iterator)返回。

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)、皮山網(wǎng)絡(luò)推廣、小程序開發(fā)、皮山網(wǎng)絡(luò)營(yíng)銷、皮山企業(yè)策劃、皮山品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供皮山建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:m.kartarina.com

舉例說(shuō)明,有一個(gè)函數(shù) f(x)=x^2 ,要把這個(gè)函數(shù)作用到一個(gè)list [1,2,3,4,5,6,7,8,9] 上:

運(yùn)用簡(jiǎn)單的循環(huán)可以實(shí)現(xiàn):

運(yùn)用高階函數(shù) map() :

結(jié)果 r 是一個(gè)迭代器,迭代器是惰性序列,通過(guò) list() 函數(shù)讓它把整個(gè)序列都計(jì)算出來(lái)并返回一個(gè) list 。

如果要把這個(gè)list所有數(shù)字轉(zhuǎn)為字符串利用 map() 就簡(jiǎn)單了:

小練習(xí):利用 map() 函數(shù),把用戶輸入的不規(guī)范的英文名字變?yōu)槭鬃帜复髮懫渌懙囊?guī)范名字。輸入 ['adam', 'LISA', 'barT'] ,輸出 ['Adam', 'Lisa', 'Bart']

reduce() 函數(shù)也是接受兩個(gè)參數(shù),一個(gè)是函數(shù),一個(gè)是可迭代對(duì)象, reduce 將傳入的函數(shù)作用到可迭代對(duì)象的每個(gè)元素的結(jié)果做累計(jì)計(jì)算。然后將最終結(jié)果返回。

效果就是: reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

舉例說(shuō)明,將序列 [1,2,3,4,5] 變換成整數(shù) 12345 :

小練習(xí):編寫一個(gè) prod() 函數(shù),可以接受一個(gè) list 并利用 reduce 求積:

map() 和 reduce() 綜合練習(xí):編寫 str2float 函數(shù),把字符串 '123.456' 轉(zhuǎn)換成浮點(diǎn)型 123.456

filter() 函數(shù)用于過(guò)濾序列, filter() 也接受一個(gè)函數(shù)和一個(gè)序列, filter() 把傳入的函數(shù)依次作用于每個(gè)元素,然后根據(jù)返回值是 True 還是 False 決定保留還是丟棄該元素。

舉例說(shuō)明,刪除list中的偶數(shù):

小練習(xí):用 filter() 求素?cái)?shù)

定義一個(gè)篩選函數(shù):

定義一個(gè)生成器不斷返回下一個(gè)素?cái)?shù):

打印100以內(nèi)素?cái)?shù):

python內(nèi)置的 sorted() 函數(shù)可以對(duì)list進(jìn)行排序:

sorted() 函數(shù)也是一個(gè)高階函數(shù),還可以接受一個(gè) key 函數(shù)來(lái)實(shí)現(xiàn)自定義排序:

key 指定的函數(shù)將作用于list的每一個(gè)元素上,并根據(jù) key 函數(shù)返回的結(jié)果進(jìn)行排序.

默認(rèn)情況下,對(duì)字符串排序,是按照ASCII的大小比較的,由于'Z' 'a',結(jié)果,大寫字母Z會(huì)排在小寫字母a的前面。如果想忽略大小寫可都轉(zhuǎn)換成小寫來(lái)比較:

要進(jìn)行反向排序,不必改動(dòng)key函數(shù),可以傳入第三個(gè)參數(shù) reverse=True :

小練習(xí):假設(shè)我們用一組tuple表示學(xué)生名字和成績(jī): L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] 。用sorted()對(duì)上述列表分別按c成績(jī)從高到低排序:

運(yùn)用匿名函數(shù)更簡(jiǎn)潔:

Python中幾個(gè)特殊的函數(shù)

1、 定義一個(gè)特殊的 __slots__ 變量,來(lái)限制該class實(shí)例能添加的屬性

2、 內(nèi)置的 @property(關(guān)鍵字) 裝飾器就是負(fù)責(zé)把一個(gè)方法變成屬性調(diào)用的。@property.setter(這里的property是類里面的屬性名)負(fù)責(zé)把一個(gè)setter方法變成屬性賦值。

3、 __str__(),__repr__(),__iter__(),__next__(),__getitem__(),__setitem__(),__delitem__(),__getattr__(),__call__()

Python常用函數(shù)三有哪些?這7個(gè)函數(shù)使用頻率最高,總算搞明白了

1.1 例如:print(hex(2))案例

1.2 輸出函數(shù):print(hex(2))

1.3 輸出結(jié)果:0x2

1.4 解析說(shuō)明:返回16進(jìn)制的數(shù)。

2.1 例如:print(chr(10))案例

2.2 輸出函數(shù):print(chr(10))

2.3 輸出結(jié)果:0o12

2.4 解析說(shuō)明:返回當(dāng)前整數(shù)對(duì)應(yīng)的ASCll碼

3.1 例如:print(ord("b"))案例

3.2 輸出函數(shù):print(ord("b"))

3.3 輸出結(jié)果:98

3.4 解析說(shuō)明:返回當(dāng)前ASCll碼的10進(jìn)制數(shù)

4.1 例如:print(chr(97))

4.2 輸出函數(shù):print(chr(97))

4.3 輸出結(jié)果:b

4.4 解析說(shuō)明:返回當(dāng)前ASCll碼的10進(jìn)制數(shù)。

案例一:給你一個(gè)字符串,s = 'hello kitty'

1.1 輸出函數(shù):print(s.capitalize())

1.2 輸出結(jié)果:0x2

1.3 解析說(shuō)明:返回16進(jìn)制的數(shù)。

2.1輸出函數(shù):print(s.replace('kitty','kuang'))

2.2 輸出結(jié)果:hello kuang

2.3 解析說(shuō)明:替換功能,將kitty換成kuang。

2.4 輸出函數(shù):print(s.replace('4','KK'))

2.5 輸出結(jié)果:12KK12KK

2.6 解析說(shuō)明:所有的4都替換成KK

2.7 輸出函數(shù):print(s.replace('4','KK'))

2.8 輸出結(jié)果:12KK12KK124

2.9 解析說(shuō)明:將前兩個(gè)的4替換成go

案例一:給你一個(gè)字符串,ip = '192.168.1.1'

3.1 輸出函數(shù):print(ip.split(','))

3.2 輸出結(jié)果:['192.168.1.1']

3.3 解析說(shuō)明:將字符串分割成列表

案例一:給你一個(gè)字符串,ip = '192.168.1.1'

3.3 輸出函數(shù):print(ip.split(',',2))

3.4 輸出結(jié)果:['192.168.1.1']

3.5 解析說(shuō)明:從第二個(gè)開始分割成列表

python 8個(gè)常用內(nèi)置函數(shù)解說(shuō)

8個(gè)超好用內(nèi)置函數(shù)set(),eval(),sorted(),reversed(),map(),reduce(),filter(),enumerate()

python中有許多內(nèi)置函數(shù),不像print那么廣為人知,但它們卻異常的強(qiáng)大,用好了可以大大提高代碼效率。

這次來(lái)梳理下8個(gè)好用的python內(nèi)置函數(shù)

1、set()

當(dāng)需要對(duì)一個(gè)列表進(jìn)行去重操作的時(shí)候,set()函數(shù)就派上用場(chǎng)了。

用于創(chuàng)建一個(gè)集合,集合里的元素是無(wú)序且不重復(fù)的。集合對(duì)象創(chuàng)建后,還能使用并集、交集、差集功能。

2、eval()之前有人問(wèn)如何用python寫一個(gè)四則運(yùn)算器,輸入字符串公式,直接產(chǎn)生結(jié)果。用eval()來(lái)做就很簡(jiǎn)單:eval(str_expression)作用是將字符串轉(zhuǎn)換成表達(dá)式,并且執(zhí)行。

3、sorted()在處理數(shù)據(jù)過(guò)程中,我們經(jīng)常會(huì)用到排序操作,比如將列表、字典、元組里面的元素正/倒排序。這時(shí)候就需要用到sorted() ,它可以對(duì)任何可迭代對(duì)象進(jìn)行排序,并返回列表。對(duì)列表升序操作:

對(duì)元組倒序操作:

使用參數(shù):key,根據(jù)自定義規(guī)則,按字符串長(zhǎng)度來(lái)排序:

根據(jù)自定義規(guī)則,對(duì)元組構(gòu)成的列表進(jìn)行排序:

4、reversed()如果需要對(duì)序列的元素進(jìn)行反轉(zhuǎn)操作,reversed()函數(shù)能幫到你。reversed()接受一個(gè)序列,將序列里的元素反轉(zhuǎn),并最終返回迭代器。

5、map()做文本處理的時(shí)候,假如要對(duì)序列里的每個(gè)單詞進(jìn)行大寫轉(zhuǎn)化操作。這個(gè)時(shí)候就可以使用map()函數(shù)。

map()會(huì)根據(jù)提供的函數(shù),對(duì)指定的序列做映射,最終返回迭代器。也就是說(shuō)map()函數(shù)會(huì)把序列里的每一個(gè)元素用指定的方法加工一遍,最終返回給你加工好的序列。舉個(gè)例子,對(duì)列表里的每個(gè)數(shù)字作平方處理:

6、reduce()前面說(shuō)到對(duì)列表里的每個(gè)數(shù)字作平方處理,用map()函數(shù)。那我想將列表里的每個(gè)元素相乘,該怎么做呢?這時(shí)候用到reduce()函數(shù)。

reduce()會(huì)對(duì)參數(shù)序列中元素進(jìn)行累積。第一、第二個(gè)元素先進(jìn)行函數(shù)操作,生成的結(jié)果再和第三個(gè)元素進(jìn)行函數(shù)操作,以此類推,最終生成所有元素累積運(yùn)算的結(jié)果。再舉個(gè)例子,將字母連接成字符串。

你可能已經(jīng)注意到,reduce()函數(shù)在python3里已經(jīng)不再是內(nèi)置函數(shù),而是遷移到了functools模塊中。這里把reduce()函數(shù)拎出來(lái)講,是因?yàn)樗匾恕?/p>

7、filter()一些數(shù)字組成的列表,要把其中偶數(shù)去掉,該怎么做呢?

filter()函數(shù)輕松完成了任務(wù),它用于過(guò)濾序列,過(guò)濾掉不符合條件的元素,返回一個(gè)迭代器對(duì)象。filter()函數(shù)和map()、reduce()函數(shù)類似,都是將序列里的每個(gè)元素映射到函數(shù),最終返回結(jié)果。我們?cè)僭囋?,如何從許多單詞里挑出包含字母w的單詞。

8、enumerate()這樣一個(gè)場(chǎng)景,同時(shí)打印出序列里每一個(gè)元素和它對(duì)應(yīng)的順序號(hào),我們用enumerate()函數(shù)做做看。

enumerate翻譯過(guò)來(lái)是枚舉、列舉的意思,所以說(shuō)enumerate()函數(shù)用于對(duì)序列里的元素進(jìn)行順序標(biāo)注,返回(元素、索引)組成的迭代器。再舉個(gè)例子說(shuō)明,對(duì)字符串進(jìn)行標(biāo)注,返回每個(gè)字母和其索引。

名稱欄目:python經(jīng)典函數(shù),Python中常用函數(shù)
標(biāo)題來(lái)源:http://m.kartarina.com/article2/hegooc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、電子商務(wù)網(wǎng)站內(nèi)鏈、外貿(mào)建站、動(dòng)態(tài)網(wǎng)站網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開發(fā)
主站蜘蛛池模板: 国产三级无码内射在线看| 免费无码又爽又刺激网站| 亚洲av无码乱码国产精品fc2| 日日摸日日踫夜夜爽无码| 人妻无码中文久久久久专区| 亚洲AV无码专区在线亚| 国产精品无码一区二区三区在| yy111111少妇无码影院| 日韩精品真人荷官无码| 久久久人妻精品无码一区| 亚洲AV成人无码久久WWW| 免费一区二区无码东京热 | 无码国产精品一区二区免费虚拟VR| 亚洲av无码无线在线观看| 国产成人AV一区二区三区无码| 中文字幕人成无码免费视频| 中文字幕人妻无码专区| 国产精品无码av片在线观看播| 日韩av无码久久精品免费| 国产成人无码av| 亚洲av无码不卡私人影院| 免费无码精品黄AV电影| 免费A级毛片无码A∨| 久久久久亚洲AV成人无码网站 | 国产成人无码AV片在线观看 | 国产免费无码一区二区| 无码喷水一区二区浪潮AV| 亚洲AV无码国产精品色| 久久精品无码一区二区无码| 国产精品无码久久久久久| 东京热无码av一区二区| 亚洲av无码专区在线观看素人| 亚洲另类无码专区首页| 日日摸夜夜添无码AVA片| 精品无码一区二区三区电影| 人妻丰满熟妞av无码区| 精品久久久无码21p发布| 精品无码AV一区二区三区不卡 | 亚洲av午夜精品无码专区| 无码午夜成人1000部免费视频| 午夜不卡无码中文字幕影院|