免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
Python 打基礎(chǔ)一定要吃透這 5 個內(nèi)置函數(shù)


出品:Python數(shù)據(jù)之道

作者:Peter

編輯:Lemon

本文中介紹 Python 中 5 個高階內(nèi)置函數(shù),它們不僅能夠幫助我們了解 Python 的數(shù)據(jù)結(jié)構(gòu),同時也能加快數(shù)據(jù)處理的速度,體會到 Python 的強(qiáng)大。

  • zip

  • filter

  • enumberate

  • reversed/reverse

  • eval

1、zip

引例

首先,我們先來學(xué)習(xí)一個非常強(qiáng)大的內(nèi)置函數(shù): zip。通過一個例子來引出 zip的使用:

需求:如果我們想對兩個列表對應(yīng)位置上的數(shù)字一一求和,該如何操作?

  1. x = [1,2,3]

  2. y = [4,5,6]

  1. for循環(huán)實(shí)現(xiàn)

  1. zip實(shí)現(xiàn)

具體實(shí)現(xiàn)過程

查看使用文檔

  1. help(zip)

zip接受一個序列

  1. 空序列

  1. 接受列表、元組、集合、字符串

zip接受多個序列

接受列表、元組、集合、字符串的任意組合:

  1. ## 列表、元組、集合、字符串的隨意組合

  2. a = [1,2,3]

  3. b = {4,5,6}

  4. c = (7,8,9)

  5. d = 'zip'

  6. print(list(zip(a,b))) # 列表+集合

  7. print('------------')

  8. print(list(zip(a,c))) # 列表+元組

  9. print('------------')

  10. print(list(zip(b,d))) # 集合+元組

  11. print('------------')

  12. print(list(zip(c,d))) # 元組+字符串

  13. print('------------')

  14. print(list(zip(a,b,c))) # 列表+集合+字符串

zip處理不同長度

上面的多個元素的長度都是相同的,下面的例子來展示 zip處理不同長度的序列。

我們發(fā)現(xiàn):zip會選擇最小長度的序列進(jìn)行合并

2、filter

filter本身是 過濾的意思:就是將那些不符合我們要求的數(shù)據(jù)直接過濾舍棄掉,剩下那些符合要求的數(shù)據(jù)。

查看幫助文檔

將序列中的每個元素傳遞給函數(shù),執(zhí)行的結(jié)果為 True或者 False,將結(jié)果為 True的元素放入新的列表中。

返回的是 filter對象。如果想看具體的數(shù)據(jù),需要使用 list來展開。

  1. help(filter)

使用自定義函數(shù)

使用匿名函數(shù)lambda

直接篩選條件

  1. list(filter(lambda x: x>1, [0,1,9,-4,8,100]))

具體結(jié)果為:

  1. [9, 8, 100]

字符篩選

  1. list(filter(lambda x: x!='shenzhen', ['guangzhou','shanghai','shenzhen','changsha'])) # 篩選不滿足要求的字符串

  1. ['guangzhou', 'shanghai', 'changsha']

3、enumerate

enumerate是 Python的一個重要內(nèi)置函數(shù),返回的是可迭代序列的元素和下標(biāo),對列表、集合、字典、字符串等都適用的。

在 Python的 for循環(huán)中使用的非常廣泛。

如果想查看結(jié)果,需要使用list函數(shù)來進(jìn)行顯示。

查看幫助文檔

  1. help(enumerate)

用于列表、集合、元組、字符串、字典

4、reversed

reversed()函數(shù)是返回序列 seq反向訪問的迭代器。

參數(shù)可以是 列表,元組,字符串,不改變原對象均可。下面通過具體的例子來說明:

查看幫助文檔

  1. help(reversed)

用于列表

用于元組

用于字符串

4.1 reverse

用于對列表中的元素反向排序,方法沒有返回值,只是對列表中的元素進(jìn)行反向排序

只針對列表?。。。。?!

demo

集合不能用reverse

方法只針對列表

  1. # 集合反向

  2. set1 = {1,'python',3,'java',5}

  3. set1.reverse() # 集合沒有reverse方法,該方法只針對列表

5、eval

語法

eval 直接返回傳入字符串的表達(dá)式的結(jié)果,語法為:

  1. eval(expression[, globals[, locals]])

下面通過幾個例子來直接講解該方法的使用

例子

字符串和列表、字典、集合的轉(zhuǎn)化

帶上參數(shù)

三個參數(shù)的意義:

  • expression : 字符串

  • globals : 變量作用域,全局命名空間;如果被提供,則必須是一個字典對象

  • locals : 變量作用域,局部命名空間;如果被提供,可以是任何映射對象

當(dāng)它和globals中有重復(fù)的部分時,locals里的定義會覆蓋掉globals中的:當(dāng)globals和locals中有沖突的部分時,locals有決定權(quán)。

如果locals沒有被 提供的話,則默認(rèn)為globals。

理解expressions

  1. s = 'abcd'

  2. eval(s)

  1. # eval先將‘s’的引號剝?nèi)?,得到s.不可以進(jìn)行計算,開始查找s是否是一個變量的名字,查找到s是一個字符串,所以程序輸出了s中的內(nèi)容

  2. s = 'abcd'

  3. eval('s')

  4. # 結(jié)果為:

  5. 'abcd'

單引號和雙引號區(qū)別

最外層一定要使用單引號

作者簡介
Peter,碩士畢業(yè)僧一枚,從電子專業(yè)自學(xué)Python入門數(shù)據(jù)行業(yè),擅長數(shù)據(jù)分析及可視化。喜歡數(shù)據(jù),堅持跑步,熱愛閱讀,樂觀生活。個人格言:不浮于世,不負(fù)于己
個人站點(diǎn):www.renpeter.cn,歡迎常來小屋逛逛
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python 初學(xué)者必備的常用內(nèi)置函數(shù)
Python常用的8個內(nèi)置函數(shù)詳解!
給妹子講python-S01E13循環(huán)迭代高級技巧
Python eval 函數(shù)妙用
一份很實(shí)在的Python進(jìn)階筆記,耐住性子開始好好學(xué)習(xí)吧!
Python程序員都應(yīng)該學(xué)習(xí)掌握的的25個最基本內(nèi)置函數(shù)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服