標籤:

Python進階系列連載(3)——那些容易被忽略的問題(下)

Python進階系列連載(3)——那些容易被忽略的問題(下)

來自專欄 Python程序員4 人贊了文章

前言

進階部分連載繼續~

如果還沒看過我的入門連載部分,先看:

ask.hellobi.com/blog/wa

當然,小編的免費入門課程已經有咯,看過連載的朋友可以看看視頻再快速梳理一遍~

視頻傳送門:edu.hellobi.com/course/

前文傳送門:

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 edu.hellobi.com/course/

公眾號:Python愛好者社區(微信ID:python_shequ),關注,查看更多連載內容。

推薦閱讀:

如何用python網路爬蟲求兩個城市間鐵路距離呢?
Python3.5.1(64位)安裝beautifulsoup4.4.1不成功怎麼回事?
python中如何理解裝飾器代碼?
#Python3# Beautifulsoup Mac安裝解決辦法?[自問自答已解決]
自學python之後如果不去公司上班,自己一個人可以通過此技能掙什麼錢?

TAG:Python | Python3x |