Photo by Andrew Neel on Unsplash
Python相較於其他程式語言,以能夠用簡潔的語法來達到相同的運算聞名,本篇要來教大家的Python Unpacking技巧,就是讓您在操作像串列(List)、元組(Tuple)及字典(Dictionary)等可疊代的資料型態時,能夠用簡潔且有效率的語法來取出其中的元素,進而做其他更複雜的運算。Unpacking顧名思義就是將打包好的資料取出來,這邊整理了五個使用的情境,包含了:
- List
Unpacking(串列開箱)
- Tuple
Unpacking(元組開箱)
- For-Loop
Unpacking(迴圈開箱)
- Swapping
Variables Value(交換變數值)
- Unpacking Operator(開箱運算子)
一、List
Unpacking(串列開箱)
當串列中有大量的資料時,則可以獨立定義所需的變數個數來透過Unpacking的方式來指派資料,剩下的元素則可以使用 * 符號來進行打包的動作,如下範例:
二、Tuple
Unpacking(元組開箱)
三、For-Loop
Unpacking(迴圈開箱)
舉例來說,當我們透過Python的For-Loop迴圈讀取串列(List)中的元素時,想要同時取得元素的索引值及資料,這時候可以搭配enumerate()方法及Unpacking的技巧來達成,如下範例:
從範例中的執行結果可以看到,在每一次迴圈的讀取時,enumerate()方法會回傳一個元組(Tuple)資料型態,我們就可以直接在For-Loop迴圈的地方Unpacking元組(Tuple)的資料給兩個變數,來達到同時取得元素索引值及資料的效果,如下範例:
另一個使用情境就是在透過Python的For-Loop迴圈讀取字典(Dictionary)中的元素時,我們使用的items()方法也是回傳一個元組(Tuple)資料型態,所以同樣我們也可以利用Unpacking的技巧來同時取得鍵(Key)及值(Value),如下範例:
四、Swapping
Variables Value(交換變數值)
再來介紹一個Unpacking的使用情境,如果我們要互換兩個變數的值,在不使用Unpacking的技巧時,我們會這樣做:
首先多定義一個變數c,然後把a的值先指派給c,接著把b的值指派給a,最後再把c(當初a的值)指派給b,這樣就達到了兩個變數值互換的效果。而我們使用了Python的Unpacking技巧後,只需寫一行,如下範例:
五、Unpacking
Operator(開箱運算子)
Unpacking
Operator分為:
- * 符號:可用於任何可疊代的(Iterable)物件。
- ** 符號:只能用於字典(Dictionary)物件 。
六、小結
以上就是Python
Unpacking的實用技巧,不但讓我們的程式碼簡潔,在操作可疊代的(Iterable)物件時也更加靈活。練習的過程中若有碰到任何問題或說明不清楚的地方,歡迎留言與我分享!
如果您喜歡我的文章,請幫我按五下Like(使用Google或Facebook帳號免費註冊),支持我創作教學文章,回饋由LikeCoin基金會出資,完全不會花到錢,感謝大家。
如果您喜歡我的文章,請幫我按五下Like(使用Google或Facebook帳號免費註冊),支持我創作教學文章,回饋由LikeCoin基金會出資,完全不會花到錢,感謝大家。
有想要看的教學內容嗎?歡迎利用以下的Google表單讓我知道,將有機會成為教學文章,分享給大家😊
謝謝老師分享教學
回覆刪除