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

2023/10/12閱讀時間約 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 工程師養成記

程式教育 - 工程師養成記

同步分享到部落格


10會員
16內容數
最近當一個講師,把自己會的技能分享出去, 從平常工作就在使用的Python開始教學 我會陸續把資料分享上來,希望可以透過教學相長的方式,互相學習進步。 教學單元有Colab介紹與使用、ChatGPT助教、變數與資料型態、IF判斷式、List清單、For迴圈、字典與集合、函式與模組、Class類別與物件、標準函示庫與套件
留言0
查看全部
發表第一個留言支持創作者!