【Python基础】Python 打基础一定要吃透这 5 个内置函数
出品:Python數據之道
作者:Peter
編輯:Lemon
本文中介紹 Python 中 5 個高階內置函數,它們不僅能夠幫助我們了解 Python 的數據結構,同時也能加快數據處理的速度,體會到 Python 的強大。
zip
filter
enumberate
reversed/reverse
eval
1、zip
引例
首先,我們先來學習一個非常強大的內置函數:?zip。通過一個例子來引出?zip的使用:
需求:如果我們想對兩個列表對應位置上的數字一一求和,該如何操作?
x = [1,2,3] y = [4,5,6]for循環實現
zip實現
具體實現過程:
查看使用文檔
help(zip)zip接受一個序列
空序列
接受列表、元組、集合、字符串
zip接受多個序列
接受列表、元組、集合、字符串的任意組合:
## 列表、元組、集合、字符串的隨意組合 a = [1,2,3] b = {4,5,6} c = (7,8,9) d = "zip" print(list(zip(a,b))) # 列表+集合 print("------------") print(list(zip(a,c))) # 列表+元組 print("------------") print(list(zip(b,d))) # 集合+元組 print("------------") print(list(zip(c,d))) # 元組+字符串 print("------------") print(list(zip(a,b,c))) # 列表+集合+字符串zip處理不同長度
上面的多個元素的長度都是相同的,下面的例子來展示?zip處理不同長度的序列。
我們發現:zip會選擇最小長度的序列進行合并
2、filter
filter本身是?過濾的意思:就是將那些不符合我們要求的數據直接過濾舍棄掉,剩下那些符合要求的數據。
查看幫助文檔
將序列中的每個元素傳遞給函數,執行的結果為?True或者?False,將結果為?True的元素放入新的列表中。
返回的是?filter對象。如果想看具體的數據,需要使用?list來展開。
help(filter)使用自定義函數
使用匿名函數lambda
直接篩選條件
list(filter(lambda x: x>1, [0,1,9,-4,8,100]))具體結果為:
[9, 8, 100]字符篩選
list(filter(lambda x: x!="shenzhen", ["guangzhou","shanghai","shenzhen","changsha"])) # 篩選不滿足要求的字符串 ['guangzhou', 'shanghai', 'changsha']3、enumerate
enumerate是?Python的一個重要內置函數,返回的是可迭代序列的元素和下標,對列表、集合、字典、字符串等都適用的。
在?Python的?for循環中使用的非常廣泛。
如果想查看結果,需要使用list函數來進行顯示。
查看幫助文檔
help(enumerate)用于列表、集合、元組、字符串、字典
4、reversed
reversed()函數是返回序列?seq的反向訪問的迭代器。
參數可以是?列表,元組,字符串,不改變原對象均可。下面通過具體的例子來說明:
查看幫助文檔
help(reversed)用于列表
用于元組
用于字符串
4.1 reverse
用于對列表中的元素反向排序,方法沒有返回值,只是對列表中的元素進行反向排序
只針對列表!!!!!!
demo
集合不能用reverse
方法只針對列表
# 集合反向 set1 = {1,"python",3,"java",5} set1.reverse() # 集合沒有reverse方法,該方法只針對列表5、eval
語法
eval?直接返回傳入字符串的表達式的結果,語法為:
eval(expression[, globals[, locals]])下面通過幾個例子來直接講解該方法的使用
例子
字符串和列表、字典、集合的轉化
帶上參數
三個參數的意義:
expression :字符串
globals :變量作用域,全局命名空間;如果被提供,則必須是一個字典對象
locals :變量作用域,局部命名空間;如果被提供,可以是任何映射對象
當它和globals中有重復的部分時,locals里的定義會覆蓋掉globals中的:當globals和locals中有沖突的部分時,locals有決定權。
如果locals沒有被 提供的話,則默認為globals。
理解expressions
s = "abcd" eval(s) # eval先將‘s’的引號剝去,得到s.不可以進行計算,開始查找s是否是一個變量的名字,查找到s是一個字符串,所以程序輸出了s中的內容 s = "abcd" eval('s') # 結果為: 'abcd'單引號和雙引號區別
最外層一定要使用單引號
作者簡介
Peter,碩士畢業僧一枚,從電子專業自學Python入門數據行業,擅長數據分析及可視化。喜歡數據,堅持跑步,熱愛閱讀,樂觀生活。個人格言:不浮于世,不負于己
個人站點:www.renpeter.cn,歡迎常來小屋逛逛
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯 獲取一折本站知識星球優惠券,復制鏈接直接打開: https://t.zsxq.com/y7uvZF6 本站qq群704220115。加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【Python基础】Python 打基础一定要吃透这 5 个内置函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【NLP笔记】文本生成?还不快上知识库
- 下一篇: 【Python基础】在pandas中使用