iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0
Python

30天導讀 Python Software Foundation 官方翻譯文件系列 第 13

Day 13 -資料結構~導讀 Python Software Foundation 教學文件

  • 分享至 

  • xImage
  •  

本文為 Python Software Foundation -->Python 3.12.6 說明文件 -->Python教學文件 --> 5. 資料結構 --> 5.4. 集合 (Sets) --> 5.5. 字典(Dictionary) 繁體中文版導讀文章

  • 內容為官方文章搭配 Colab 實測 demo 圖片,想了解實測請點擊Colab

資料結構

這個章節將會更深入的介紹一些你已經學過的東西的細節上,並且加入一些你還沒有接觸過的部分。

5.4. 集合 (Sets)

Python 也包含了一種用在 set(集合)的資料類型。一個 set 是一組無序且沒有重複的元素。基本的使用方式包括了隸屬資格檢測和消除重複元素。 Set 物件也支援聯集、交集、差集和互斥等數學運算。
大括號或 set() 函式都可以用來建立 set。注意:要建立一個空的 set,你必須使用 set() 而不是 {};後者會建立一個空的 dictionary,一種我們將在下一節討論的資料結構。
這裡是一個簡單的示範:
https://ithelp.ithome.com.tw/upload/images/20240927/20162673OlIfjxMMPS.png
https://ithelp.ithome.com.tw/upload/images/20240927/20162673ffhBAgRxkm.png

list comprehensions 類似,也有 set comprehensions(集合綜合運算):
https://ithelp.ithome.com.tw/upload/images/20240927/20162673ShEkPpgihU.png


5.5. 字典(Dictionary)

下一個常用的 Python 內建資料類型為 dictionary(請參考Mapping Types --- dict)。 Dictionary 有時被稱為「關聯記憶體」(associative memories) 或「關聯陣列」(associative arrays)。不像序列是由一個範圍內的數字當作索引,dictionary 是由鍵 (key) 來當索引,鍵可以是任何不可變的類型;字串和數字都可以當作鍵。Tuple 也可以當作鍵,如果他們只含有字串、數字或 tuple;若一個 tuple 直接或間接地含有任何可變的物件,它就不能當作鍵。你無法使用 list 當作鍵,因為 list 可以經由索引指派 (index assignment)、切片指派 (slice assignment) 或是像 append() 和 extend() 等 method 被修改。

思考 dictionary 最好的方式是把它想成是一組鍵值對 (key: value pair) 的 set,其中鍵在同一個 dictionary 裡必須是獨一無二的。使用一對大括號可建立一個空的 dictionary:{}。將一串由逗號分隔的鍵值對置於大括號則可初始化字典的鍵值對。這同樣也是字典輸出時的格式。

Dictionary 主要的操作為藉由鍵來儲存一個值並且可藉由該鍵來取出該值。也可以使用 del 來刪除鍵值對。如果我們使用用過的鍵來儲存,該鍵所對應的較舊的值會被覆蓋。使用不存在的鍵來取出值會造成錯誤。

對 dictionary 使用 list(d) 會得到一個包含該字典所有鍵的 list,其排列順序為插入時的順序。(若想要排序,則使用 sorted(d) 代替即可)。如果想確認一個鍵是否已存在於字典中,可使用關鍵字 in

這是個使用一個 dictionary 的簡單範例:
https://ithelp.ithome.com.tw/upload/images/20240928/20162673Q2ZxHkmUPx.png

函式 dict() 可直接透過一串鍵值對序列來建立 dictionary:
https://ithelp.ithome.com.tw/upload/images/20240928/20162673y4gXHivIbh.png

此外,dict comprehensions 也可以透過任意鍵與值的運算式來建立 dictionary :
https://ithelp.ithome.com.tw/upload/images/20240928/20162673yqXAZ4faXX.png

當鍵是簡單的字串時,使用關鍵字引數 (keyword arguments) 有時會較為簡潔:
https://ithelp.ithome.com.tw/upload/images/20240928/201626738ITzOIofqV.png


上一篇
Day 11 -資料結構~導讀 Python Software Foundation 教學文件
下一篇
Day 14 -資料結構~導讀 Python Software Foundation 教學文件
系列文
30天導讀 Python Software Foundation 官方翻譯文件14
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言