Python進階系列連載(3)——那些容易被忽略的問題(下)
來自專欄 Python程序員4 人贊了文章
前言
進階部分連載繼續~
如果還沒看過我的入門連載部分,先看:
https://ask.hellobi.com/blog/wangdawei/10288
當然,小編的免費入門課程已經有咯,看過連載的朋友可以看看視頻再快速梳理一遍~
視頻傳送門:https://edu.hellobi.com/course/234
前文傳送門:
Python進階系列連載(1)——那些容易被忽略的問題(上)
Python進階系列連載(2)——那些容易被忽略的問題(中)
可變長元組參數
還記得在入門部分講的函數的可變長參數么,*開頭的收集到的的是元組參數,既然有收集,那就可能會有分散
今天我們要講的就是收集的反面——分散
我們先看個演示:
divmod函數是一個求商和餘數的函數,這裡傳入9和2,返回了4和1
即商為4,餘數為1
如果我們想一步到位
使用原有的數組呢?
發現系統拋出異常
仔細看看異常內容
需要兩個參數,但你只給了一個!
所以我們嘗試分散,也就是今天要學的新內容
我們在傳入的元組前加個*號,即可將元組拆開,有點像之前說過的元組拆包~
此時結果返回正常了
序列合體
還記得小學時候看的數碼寶貝么?除了前期的進化可以提升數碼寶貝的力量
後期更有合體的玩法!
小明:陰陽相合,我懂的!。。。
咳咳,我們今天要講的是將序列(字元串,列表,元組)相互合併的操作
如果給你一個列表,一個元組,如下圖,把他們一對對分別按順序合併
你會怎麼做?
小紅:老師,我最喜歡的列表生成式子應該可以:
使用之後發現並不可以,但是改一下就ok:
小紅啊,你這是投機取巧看出了數據的特徵
小明有想法么?
小明:我覺得可以使用循環試試:
小明這次做的不錯,有沒有更方便的方法呢?
(眾人沉默)
好的,那我們看看今天要講的函數zip()
zip()函數接收兩個或者多個序列,返回一個元組列表
每個元組包含來自每個序列中的一個元素
zip()函數名取自拉鏈zipper~
就像把兩邊結合在一起這種
好了,我們看看拉鏈的具體使用:
返回的結果是一個zip對象,你可以簡單認為是一個壓縮包
當我們要獲取查看它的元素,可以使用循環遍歷,如果我們想將結果放在一個list中呢?可以這樣:
當然我們還可以將字元串和列表合併:
甚至多個序列合併:
zip()函數的出現為我們創建字典提供了新方法:
文件名和路徑
還記得我們在入門階段講的路徑么,有個細節要補充一下,讓我們更加偷懶
返回當前目錄:
返回當前目錄有以下好處:
1.方便構造文件操作路徑
2.提醒我們當前在什麼目錄操作
我們還可以檢查該目錄下是否存在某個文件:
今天作業是自己跟著操作一遍~
自己不敲代碼永遠學不會寫代碼
下課
人生苦短,我選Python
未完待續,連載中......
作者:王大偉 Python愛好者社區唯一小編,請勿轉載,謝謝。
博客專欄:王大偉-一個數據分析菜鳥配套視頻教程:1小時破冰入門Python https://edu.hellobi.com/course/234公眾號:Python愛好者社區(微信ID:python_shequ),關注,查看更多連載內容。
推薦閱讀:
※如何用python網路爬蟲求兩個城市間鐵路距離呢?
※Python3.5.1(64位)安裝beautifulsoup4.4.1不成功怎麼回事?
※python中如何理解裝飾器代碼?
※#Python3# Beautifulsoup Mac安裝解決辦法?[自問自答已解決]
※自學python之後如果不去公司上班,自己一個人可以通過此技能掙什麼錢?