[Python教學] Dictionary 字典 和 Set 集合

更新於 2024/10/11閱讀時間約 7 分鐘

Dictionary 字典 和 Set 集合

Dictionary 字典

raw-image


字典(Dictionary)是 Python 中一個常用的資料結構,用於儲存一組鍵值對(Key-Value pairs)。每個鍵對應到一個值,可以根據鍵來快速存取對應的值,它是一種無序的鍵值對集合,用於存儲可變的、可索引的資料。字典以大括號 {} 表示,每個鍵值對之間使用冒號 : 分隔。以下是字典的基本用法:

字典的特點:

  1. 無序性: 字典中的鍵值對是無序的,無法通過索引來訪問元素。
  2. 可變性: 字典的內容可以修改,包括添加新的鍵值對、修改已有的值,以及刪除鍵值對。
  3. 唯一鍵: 字典中的鍵是唯一的,不可重複。
  4. 任意類型: 字典的鍵和值可以是任意的 Python 物件,可以是數字、字串、元組等。

創建字典

使用 {} 大括號創建字典,每個鍵值對使用冒號 : 分隔,並且鍵值對之間使用逗號 , 分隔。

# 創建一個字典
student = {
"name": "Alice",
"age": 18,
"gender": "female"
}

存取字典中的值

可以使用鍵來存取字典中的值。

# 存取字典中的值
print(student["name"]) # 輸出:Alice
print(student["age"]) # 輸出:18
print(student["gender"]) # 輸出:female

修改字典中的值

可以根據鍵來修改字典中的值。

# 修改字典中的值
student["age"] = 19
print(student["age"]) # 輸出:19

新增鍵值對

可以使用鍵來新增鍵值對。

# 新增鍵值對
student["city"] = "New York"
print(student)
# 輸出:{'name': 'Alice', 'age': 19, 'gender': 'female', 'city': 'New York'}

刪除鍵值對

可以使用 del 關鍵字來刪除字典中的鍵值對。

# 刪除鍵值對
del student["gender"]
print(student)
# 輸出:{'name': 'Alice', 'age': 19, 'city': 'New York'}

檢查鍵是否存在

可以使用 in 關鍵字來檢查特定的鍵是否存在於字典中。

# 檢查鍵是否存在
if "age" in student:
print("age 鍵存在")
else:
print("age 鍵不存在")

字典是一個非常有用的資料結構,能夠幫助你組織和存儲各種資料,並且支援快速的存取和修改操作。

在 Python 中,你可以使用迴圈來輪詢字典中的鍵和值。有幾種方式可以實現這個輪詢的過程,讓我們來看看幾個例子:

輪詢字典的鍵

你可以使用 for 迴圈來輪詢字典的鍵。

student = {
"name": "Alice",
"age": 18,
"city": "New York"
}

for key in student:
print(key)
# 輸出:name
# 輸出:age
# 輸出:city

輪詢字典的值

你可以使用 .values() 方法來輪詢字典的值。

for value in student.values():
print(value)
# 輸出:Alice
# 輸出:18
# 輸出:New York

輪詢字典的鍵值對

你可以使用 .items() 方法來輪詢字典的鍵值對,並同時取得鍵和值。

for key, value in student.items():
print(f"{key}: {value}")
# 輸出:name: Alice
# 輸出:age: 18
# 輸出:city: New York

這些方法可以幫助你在迴圈中有效地輪詢字典的內容,並進行相應的操作。無論是輪詢鍵、值,還是鍵值對,都能夠很方便地進行。

常用方法

raw-image


集合

raw-image


集合(Set)是 Python 中的一種無序、可變的資料結構,用於存儲多個元素,且集合中的元素是唯一的(不重複)。集合使用大括號 {} 來定義,元素之間使用逗號 , 分隔。

my_set = {1, 2, 3}
another_set = set([3, 4, 5])

集合有以下特點:

  1. 元素無序:集合中的元素沒有固定的順序,因此無法使用索引來訪問。
  2. 元素唯一:集合中的元素是唯一的,不會有重複的元素。
  3. 可變性:集合中的元素可以被新增、刪除和修改。

你可以使用集合來解決需要存儲一組元素,但不需要考慮元素順序和重複的問題的情況。
集合提供了各種方法來執行集合間的交集、聯集、差集等操作。

新增元素到集合

my_set = {1, 2, 3}
my_set.add(4)
print(my_set) # 輸出:{1, 2, 3, 4}

刪除元素從集合

my_set = {1, 2, 3, 4}
my_set.remove(3)
print(my_set) # 輸出:{1, 2, 4}

刪除元素但不引發錯誤,如果元素不存在:

my_set = {1, 2, 3, 4}
my_set.discard(5) # 元素 5 不存在於集合,但不會引發錯誤
print(my_set) # 輸出:{1, 2, 3, 4}

清空集合

my_set = {1, 2, 3, 4}
my_set.clear()
print(my_set) # 輸出:set()

複製集合:

original_set = {1, 2, 3}
new_set = original_set.copy()
print(new_set) # 輸出:{1, 2, 3}

您可以根據這些範例來理解集合的新增、修改和刪除操作。


集合運算

raw-image


常用方法

raw-image


系列文章


[Python教學]開發工具介紹

[Python經驗分享]為什麼要學Python? 我回不去了

Google Colab 介紹

[Python教學] 資料型態

[Python教學] IF判斷式

[Python教學] List 清單 和 Tuple元組

[Python教學] for 和 while 迴圈

[Python教學] Dictionary 字典 和 Set 集合


最後最後有一件小小的請求,請大家幫我填寫一下問卷,
讓我們知道你想上怎麼樣課程,感激不盡。
問卷這邊

Facebook 粉絲頁 - TechMasters 工程師養成記

程式教育 - 工程師養成記

同步分享到部落格


avatar-img
12會員
16內容數
最近當一個講師,把自己會的技能分享出去, 從平常工作就在使用的Python開始教學 我會陸續把資料分享上來,希望可以透過教學相長的方式,互相學習進步。 教學單元有Colab介紹與使用、ChatGPT助教、變數與資料型態、IF判斷式、List清單、For迴圈、字典與集合、函式與模組、Class類別與物件、標準函示庫與套件
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
何誠殷的沙龍 的其他內容
for 和 while 迴圈,回圈觀念就是重複,想像自己是一位跑者,需要繞操場十圈才能抵達終點,這十圈在同一個操場上奔跑,這個概念轉換回來解釋程式的回圈就是一直做重複的事情。 for 迴圈是 Python 中的一個迴圈控制結構,用於對集合(例如清單、字串、元組等)中的每個元素進行迭代操作
List 清單 和 Tuple元組 清單在Python裡面非常的常用,大家一定要熟練這些基礎的元素。 在Python中,列表(List)是一種常用的資料類型,用於儲存一組有序的元素。列表是可變的(Mutable),這意味著你可以在列表中新增、刪除和修改元素。列表使用方括號 []
IF判斷式 if判斷式是程式中的一種條件控制結構,用於根據條件的真假來執行不同的程式塊。 在Python中,if語句的基本格式如下: if 條件: # 滿足條件時要執行的程式塊 else: # 不滿足條件時要執行的程式塊
資料型態-變數概念 上面這張圖片傳傳達了三個概念, 常值:可以是數值、浮點數、字串、布林等資料, 變數名稱:這邊也很好理解,就是好記得名稱,這邊使用中文是方便初學者入門, 盒子:代表在Python底層運作的狀況,Python創建變數時,會先在記憶體創建型態物件,這邊是數字型態,所以創建數字物件。
Google Colab是一個基於雲端的Python開發環境,提供免費的CPU和GPU資源,讓用戶可以在網頁瀏覽器中運行和編寫Python程式。它具有強大的協作功能,可以與他人共享和編輯程式碼。Google Colab支援Jupyter筆記本,並提供預裝的Python套件,方便進行數據分析、機器學習
為什麼要學Python? 我回不去了 全球工程師都在用! 根據 TIOBE調查 全球程式語言使用排名,Python連續好幾年第一名,代表最多人使用,選擇程式語言當然是要選最多人用的。 程式語言趨勢圖 Python可以做什麼? 這種事情問ChatGTP就好XD
for 和 while 迴圈,回圈觀念就是重複,想像自己是一位跑者,需要繞操場十圈才能抵達終點,這十圈在同一個操場上奔跑,這個概念轉換回來解釋程式的回圈就是一直做重複的事情。 for 迴圈是 Python 中的一個迴圈控制結構,用於對集合(例如清單、字串、元組等)中的每個元素進行迭代操作
List 清單 和 Tuple元組 清單在Python裡面非常的常用,大家一定要熟練這些基礎的元素。 在Python中,列表(List)是一種常用的資料類型,用於儲存一組有序的元素。列表是可變的(Mutable),這意味著你可以在列表中新增、刪除和修改元素。列表使用方括號 []
IF判斷式 if判斷式是程式中的一種條件控制結構,用於根據條件的真假來執行不同的程式塊。 在Python中,if語句的基本格式如下: if 條件: # 滿足條件時要執行的程式塊 else: # 不滿足條件時要執行的程式塊
資料型態-變數概念 上面這張圖片傳傳達了三個概念, 常值:可以是數值、浮點數、字串、布林等資料, 變數名稱:這邊也很好理解,就是好記得名稱,這邊使用中文是方便初學者入門, 盒子:代表在Python底層運作的狀況,Python創建變數時,會先在記憶體創建型態物件,這邊是數字型態,所以創建數字物件。
Google Colab是一個基於雲端的Python開發環境,提供免費的CPU和GPU資源,讓用戶可以在網頁瀏覽器中運行和編寫Python程式。它具有強大的協作功能,可以與他人共享和編輯程式碼。Google Colab支援Jupyter筆記本,並提供預裝的Python套件,方便進行數據分析、機器學習
為什麼要學Python? 我回不去了 全球工程師都在用! 根據 TIOBE調查 全球程式語言使用排名,Python連續好幾年第一名,代表最多人使用,選擇程式語言當然是要選最多人用的。 程式語言趨勢圖 Python可以做什麼? 這種事情問ChatGTP就好XD
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
本文將指導你如何修改現有的 OpenCV 程式碼,使其利用 CUDA 加速進行深度神經網絡(DNN)推理,如超分辨率圖像放大任務。這將顯著提升運行速度,特別是在高分辨率圖像處理中。 在CMake上這選項要開,才可支援DNN模組。 CMake編譯OpenCV教學文 連結 [OpenCV][Py
Thumbnail
在Python中安裝套件通常是通過pip這個工具來完成的。 pip是Python的包管理器,用於安裝和管理Python套件 在Python中安裝套件通常是通過pip這個工具來完成的。 pip是Python的包管理器,用於安裝和管理Python套件。以下是基本的安裝步驟: 確認p
Thumbnail
日期時間 時間日期在計算機科學和日常生活中都非常重要。時間:時間是一個連續的概念,用來衡量事件發生的順序和持續的時間。時間通常以不同的單位來表示,包括秒、分鐘、小時、天、月和年等。日期:日期是時間的一個特定點,通常包括年、月和日。
Thumbnail
實作密碼產生器 請使用者輸入要產生幾位數的密碼長度 依據使用者輸入的密碼長度,輸出密碼 import random import string 數字 = string.digits 英文 = string.ascii_letters 字母表 = 數字 + 英文 # 0123456789abc
Thumbnail
檔案存取 路徑與檔案處理是很常用的功能,他們可以獨立運作,但是常常搭配一起使用,如果你處理的檔案是在當下的目錄,可以不需要使用路徑的功能單獨讀寫檔案,如果是想要做一些資料夾的管理,就需要理解路徑和檔案之間的關係。
Thumbnail
⏳ 優質好文,歡迎支持與學習,讓阿Han給你最歡樂的學習課程、最貼近業界的實戰技巧…,just for fun fun fun…😄 相信對於具有開發基礎的學員們來說,基本的開發工程相信已經得心應手了, 那麼您們可能會苦於這些問題: ❓ 哇! pip install別人的程式好方便
Thumbnail
根據RFM的資料來分成8種類型的客戶,1.重要價值客戶2.重要保持客戶3.重要發展客戶4.一般發展客戶5.重要挽留客戶6.一般價值客戶7.一般保持客戶8.一般挽留客戶
Thumbnail
RFM模型是最基本的分析,可以讓你知道哪些是常客、哪些人是偶爾來一次,或是根本不常來,藉此針對不同的客群去做不同的策略,達到提升業績的方法。接下來就讓我教你如何運用PYTHON快速做出RFM分析
Thumbnail
介紹條件控制流程,包含組成它的比較運算子、條件運算式、條件語句。 繼講解完邏輯運算之後,我們終於要開始認識控制流程的其中之一:條件(Condition)。 如同在程式的邏輯思維中介紹到的,我們需要決定問題為 True 需要執行什麼,反之又要執行什麼。這些路徑的選擇便是由條件控制流程所實現。
Thumbnail
介紹邏輯運算的觀念,包含布林值、運算子與運算式的介紹。並說明如何使用 Python 撰寫這些觀念。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
本文將指導你如何修改現有的 OpenCV 程式碼,使其利用 CUDA 加速進行深度神經網絡(DNN)推理,如超分辨率圖像放大任務。這將顯著提升運行速度,特別是在高分辨率圖像處理中。 在CMake上這選項要開,才可支援DNN模組。 CMake編譯OpenCV教學文 連結 [OpenCV][Py
Thumbnail
在Python中安裝套件通常是通過pip這個工具來完成的。 pip是Python的包管理器,用於安裝和管理Python套件 在Python中安裝套件通常是通過pip這個工具來完成的。 pip是Python的包管理器,用於安裝和管理Python套件。以下是基本的安裝步驟: 確認p
Thumbnail
日期時間 時間日期在計算機科學和日常生活中都非常重要。時間:時間是一個連續的概念,用來衡量事件發生的順序和持續的時間。時間通常以不同的單位來表示,包括秒、分鐘、小時、天、月和年等。日期:日期是時間的一個特定點,通常包括年、月和日。
Thumbnail
實作密碼產生器 請使用者輸入要產生幾位數的密碼長度 依據使用者輸入的密碼長度,輸出密碼 import random import string 數字 = string.digits 英文 = string.ascii_letters 字母表 = 數字 + 英文 # 0123456789abc
Thumbnail
檔案存取 路徑與檔案處理是很常用的功能,他們可以獨立運作,但是常常搭配一起使用,如果你處理的檔案是在當下的目錄,可以不需要使用路徑的功能單獨讀寫檔案,如果是想要做一些資料夾的管理,就需要理解路徑和檔案之間的關係。
Thumbnail
⏳ 優質好文,歡迎支持與學習,讓阿Han給你最歡樂的學習課程、最貼近業界的實戰技巧…,just for fun fun fun…😄 相信對於具有開發基礎的學員們來說,基本的開發工程相信已經得心應手了, 那麼您們可能會苦於這些問題: ❓ 哇! pip install別人的程式好方便
Thumbnail
根據RFM的資料來分成8種類型的客戶,1.重要價值客戶2.重要保持客戶3.重要發展客戶4.一般發展客戶5.重要挽留客戶6.一般價值客戶7.一般保持客戶8.一般挽留客戶
Thumbnail
RFM模型是最基本的分析,可以讓你知道哪些是常客、哪些人是偶爾來一次,或是根本不常來,藉此針對不同的客群去做不同的策略,達到提升業績的方法。接下來就讓我教你如何運用PYTHON快速做出RFM分析
Thumbnail
介紹條件控制流程,包含組成它的比較運算子、條件運算式、條件語句。 繼講解完邏輯運算之後,我們終於要開始認識控制流程的其中之一:條件(Condition)。 如同在程式的邏輯思維中介紹到的,我們需要決定問題為 True 需要執行什麼,反之又要執行什麼。這些路徑的選擇便是由條件控制流程所實現。
Thumbnail
介紹邏輯運算的觀念,包含布林值、運算子與運算式的介紹。並說明如何使用 Python 撰寫這些觀念。