<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 2403字,需瀏覽 5分鐘

           ·

          2020-11-11 05:12

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

          作者:Peter

          編輯:Lemon


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

          • zip

          • filter

          • enumberate

          • reversed/reverse

          • eval

          1、zip

          引例

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

          需求:如果我們想對(duì)兩個(gè)列表對(duì)應(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)過(guò)程

          查看使用文檔

          1. help(zip)

          zip接受一個(gè)序列

          1. 空序列

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

          zip接受多個(gè)序列

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

          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處理不同長(zhǎng)度

          上面的多個(gè)元素的長(zhǎng)度都是相同的,下面的例子來(lái)展示?zip處理不同長(zhǎng)度的序列。

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

          2、filter

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

          查看幫助文檔

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

          返回的是?filter對(duì)象。如果想看具體的數(shù)據(jù),需要使用?list來(lái)展開(kāi)。

          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的一個(gè)重要內(nèi)置函數(shù),返回的是可迭代序列的元素和下標(biāo),對(duì)列表、集合、字典、字符串等都適用的。

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

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

          查看幫助文檔

          1. help(enumerate)

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

          4、reversed

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

          參數(shù)可以是?列表,元組,字符串,不改變?cè)瓕?duì)象均可。下面通過(guò)具體的例子來(lái)說(shuō)明:

          查看幫助文檔

          1. help(reversed)

          用于列表

          用于元組

          用于字符串

          4.1 reverse

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

          只針對(duì)列表!!!!!!

          demo

          集合不能用reverse

          方法只針對(duì)列表

          1. # 集合反向


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

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

          5、eval

          語(yǔ)法

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

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

          下面通過(guò)幾個(gè)例子來(lái)直接講解該方法的使用

          例子

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

          帶上參數(shù)

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

          • expression :字符串

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

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

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

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

          理解expressions

          1. s = "abcd"

          2. eval(s)

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


          2. s = "abcd"

          3. eval('s')


          4. # 結(jié)果為:

          5. 'abcd'

          單引號(hào)和雙引號(hào)區(qū)別

          最外層一定要使用單引號(hào)


          作者簡(jiǎn)介
          Peter,碩士畢業(yè)僧一枚,從電子專業(yè)自學(xué)Python入門數(shù)據(jù)行業(yè),擅長(zhǎng)數(shù)據(jù)分析及可視化。喜歡數(shù)據(jù),堅(jiān)持跑步,熱愛(ài)閱讀,樂(lè)觀生活。個(gè)人格言:不浮于世,不負(fù)于己
          個(gè)人站點(diǎn):www.renpeter.cn,歡迎常來(lái)小屋逛逛

          往期精彩回顧





          獲取一折本站知識(shí)星球優(yōu)惠券,復(fù)制鏈接直接打開(kāi):

          https://t.zsxq.com/y7uvZF6

          本站qq群704220115。

          加入微信群請(qǐng)掃碼:

          瀏覽 21
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲视频观看免费 | 国产蜜臀精品一区二区免费 | 一区=区黄色| 国产日本在线视频 | 日本一级黄色电影免费 |