[Python基礎]容器:字典{ dit }集合{set}

更新於 發佈於 閱讀時間約 8 分鐘

在日常中我們都會將很多事物定上了一個標籤,例如將商品標記價格,替孩子取姓名,公司上冠上職稱等等。

在Python中也有這種方法,就是字典的形式{ 'name' : 'crab', 'apple', 1000 }去呈現,將需要的後再把輸入對應的鍵取出值來,像上方的形式,若要查詢key(蘋果)價格就會得到他的值(value)1000 。

以下圖舉例說明,將手機價格用Python字典的方式儲存。

依手機價格舉例字典用法

依手機價格舉例字典用法



宣告方法

字典&集合宣告

字典&集合宣告

詳細說明

字典(Dictionary):

1. 存儲方式:使用鍵-值(key-value)對的形式。

2. 順序:字典是無序的,即不保證項目的順序。

3. 鍵的唯一性:字典中的鍵是唯一的,每個鍵對應一個值。

4. 資料型別:可以存儲任何的資料型別作為鍵,例如字串、數字等。

5. 使用花括號{ }來創建。

集合(Set):

1. 存儲方式:使用花括號 `{}`。

2. 順序:集合是無序的,即不保證項目的順序。

3. 元素的唯一性:集合中的元素是唯一的,不允許重複。

4. 資料型別:可以存儲任何的資料型別。

5. 使用花括號 { }來創建。

程式範例

字典(Dictionary)的宣告:

# 空字典
empty_dict = {}

# 包含鍵值對的字典
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}

# 使用 dict() 建構子宣告字典
another_dict = dict(name='Jane', age=25, city='Los Angeles')

# 字典中包含不同類型的值
mixed_dict = {'name': 'Alice', 'age': 28, 'is_student': True, 'grades': [85, 92, 78]}

集合(Set)的宣告:

# 空集合
empty_set = set()

# 包含元素的集合
my_set = {1, 2, 3, 4, 5}

# 使用 set() 建構子宣告集合
another_set = set([3, 4, 5, 6, 7])

# 集合中的元素可以是不同類型的值
mixed_set = {1, 'hello', 3.14, True}

常用方法:

字典的常用方法:

keys() 返回字典所有的鍵。

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
keys = my_dict.keys()
print(keys)
# dict_keys(['name', 'age', 'city'])

values(): 返回字典所有的值。

values = my_dict.values()
取出key與values

取出key與values

get(key, default) 獲取指定鍵的值,如果鍵不存在,返回指定的默認值。

指定存在的key : 'age',則回傳對應的值25,若指定不存在的'job'則回傳指定的默認值no job

get用法

get用法

pop(key, default) 刪除並返回指定鍵的值,如果鍵不存在,返回指定的默認值或引發 KeyError。

若在jon那段,未給默認值的參數,則就會引發KeyError

pop用法

pop用法

items() 將字典內的key與values,組成tuple情況,一組一組的。

這樣可以方便地獲取字典中的每一對key與values,來應用,依序取出作處理。

items用法

items用法

update(dict2) 將另一個字典的鍵值對更新到該字典中。

字典中的鍵是唯一的,若update已存在的key就會將值更新,像以下範例,city的值已更新為Los Angeles

updata用法

updata用法

集合的常用方法:

add(element) 向集合添加元素。

remove(element) 刪除集合中的指定元素,如果元素不存在,引發 KeyError。

discard(element) 刪除集合中的指定元素,如果元素不存在,不引發錯誤。

pop() 刪除並返回集合中的任意一個元素,如果集合為空,引發 KeyError。

union(set2)| 返回兩個集合的聯集。

intersection(set2)& 返回兩個集合的交集。

程式範例

以下結合添加,刪除的方法,測試各種方法出來的結果,可某些場合根據需求使用相對應的方法

my_set = {1, 2, 3}
my_set.add(4)
print(f'add my_set : {my_set}')
my_set.remove(2)
print(f'remove(2) my_set : {my_set}')
my_set.discard(5)
print(f'discard(5) my_set : {my_set} 刪除不存在值,但不會引發錯誤')
popped_element = my_set.pop()
print(f'pop my_set: {my_set} 隨機刪除')
程式輸出

程式輸出

以下使用聯集與交集方法,呈現

聯集 : 集合A和B所有的元素組成的集合就叫做A和B的聯集,形成一個新的集合

交集:A跟B同時都有的元素,形成一個新的集合

如以下範例 :

set1 與set2 聯集後形成新的set {1, 2, 3, 4, 5}

set1與set2 交集形成新的set{3}

set1 = {1, 2, 3}
set2 = {3, 4, 5}
#聯集
union_set = set1.union(set2)
print(f'union_set : {union_set}')
union_set_new = set1|set2
print(f'| : {union_set_new}')
#交集
intersection_set = set1.intersection(set2)
intersection_set_new = set1 & set2
print(f'intersection_set: {intersection_set}')
print(f' & : {intersection_set_new}')
集合與交集範例

集合與交集範例

Python 的字典和集合,可以在日常生活中應用於多種情境

聯絡人名單: 將聯絡人名稱和相應的聯絡方式

contacts = {'Alice': '555-1234', 'Bob': '555-5678', 'Charlie': '555-9876'}

行事曆事件: 將日期作為鍵,事件內容作為值。

calendar = {'2022-01-15': '朋友聚會', '2022-01-20': '工作會議'}

活動參與者集合: 紀錄參與活動的人員,確保每個參與者只計算一次。

event_participants = {'Alice', 'Bob', 'Eve', 'David', 'Charlie'}


程式語言一些語法或方法的存在,目的就是為了解決日常的難題所存在的,使用對的方法或語法將會事半功倍


喜歡的話,愛心追蹤 謝謝大家

留言
avatar-img
留言分享你的想法!
阿Han-avatar-img
2024/02/23
非常清晰
螃蟹_crab-avatar-img
發文者
2024/01/14
[Python基礎]流程控制for迴圈提及了這篇文章,趕快過去看看吧!
avatar-img
螃蟹_crab的沙龍
148會員
255內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
螃蟹_crab的沙龍的其他內容
2025/04/25
在 Python 中,字典(dict)是非常常用的資料結構,用來儲存 key-value 配對。而在操作字典時,.setdefault() 是一個常被忽略但非常實用的方法。 這篇文章會完整介紹 .setdefault() 的語法、用途、與實務範例,幫助你更有效率地處理字典資料。 什麼是 .se
Thumbnail
2025/04/25
在 Python 中,字典(dict)是非常常用的資料結構,用來儲存 key-value 配對。而在操作字典時,.setdefault() 是一個常被忽略但非常實用的方法。 這篇文章會完整介紹 .setdefault() 的語法、用途、與實務範例,幫助你更有效率地處理字典資料。 什麼是 .se
Thumbnail
2025/01/30
Python 程式在電腦上的執行流程 當我們在電腦上執行 Python 程式時,主要經歷以下幾個步驟: 1. 編寫 Python 程式碼 開發者使用文字編輯器或 IDE(如 VS Code、PyCharm)撰寫 Python 程式,並將其存為 .py 檔案。 例如,一個簡單的 Python
Thumbnail
2025/01/30
Python 程式在電腦上的執行流程 當我們在電腦上執行 Python 程式時,主要經歷以下幾個步驟: 1. 編寫 Python 程式碼 開發者使用文字編輯器或 IDE(如 VS Code、PyCharm)撰寫 Python 程式,並將其存為 .py 檔案。 例如,一個簡單的 Python
Thumbnail
2024/10/17
在一個典型的程式專案中,UI、Controller 和 Main 的分工通常遵循 MVC 模型(Model-View-Controller) 的架構,這是一種常見的設計模式,能夠將應用程式的邏輯和界面進行分離。 大部分典型的程式專案設計: UI (View):專注於用戶界面,展示數據,並將用
Thumbnail
2024/10/17
在一個典型的程式專案中,UI、Controller 和 Main 的分工通常遵循 MVC 模型(Model-View-Controller) 的架構,這是一種常見的設計模式,能夠將應用程式的邏輯和界面進行分離。 大部分典型的程式專案設計: UI (View):專注於用戶界面,展示數據,並將用
Thumbnail
看更多
你可能也想看
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
本文介紹了Python中的物件導向程式設計的重要概念,包括類別、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射。每個概念都有對應的程式碼範例來說明其用法和功能。這些概念對於理解和使用Python進行物件導向程式設計至關重要。
Thumbnail
本文介紹了Python中的物件導向程式設計的重要概念,包括類別、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射。每個概念都有對應的程式碼範例來說明其用法和功能。這些概念對於理解和使用Python進行物件導向程式設計至關重要。
Thumbnail
在Python中,我們可以用def關鍵字定義函數,並透過函數名稱呼叫它。函數參數可以是必填、關鍵字、默認或不定長度的類型。return語句負責結束函數並回傳值。全域變數可以在整個程序中使用,而區域變數只能在特定函數內使用。我們還可以在一個文件中定義函數,然後在另一個文件中呼叫它。
Thumbnail
在Python中,我們可以用def關鍵字定義函數,並透過函數名稱呼叫它。函數參數可以是必填、關鍵字、默認或不定長度的類型。return語句負責結束函數並回傳值。全域變數可以在整個程序中使用,而區域變數只能在特定函數內使用。我們還可以在一個文件中定義函數,然後在另一個文件中呼叫它。
Thumbnail
在Python中,import是一個關鍵字,用於將其他模組或套件中的程式碼引入到當前的程式中以供使用。 這個關鍵字允許你在你的程式中使用其他地方定義的變數、函式和類等。 當你使用import時,Python會搜索指定模組或套件的位置,並將其中的程式碼載入到你的程式中,這樣你就可以在程式中使用它們
Thumbnail
在Python中,import是一個關鍵字,用於將其他模組或套件中的程式碼引入到當前的程式中以供使用。 這個關鍵字允許你在你的程式中使用其他地方定義的變數、函式和類等。 當你使用import時,Python會搜索指定模組或套件的位置,並將其中的程式碼載入到你的程式中,這樣你就可以在程式中使用它們
Thumbnail
古有四大名著,現今Python四大容器🤣 哪四個?list串列,tuple元組,dict字典,set集合。 那這四個怎麼分? 一起來看看吧! (以下有手寫與上機實際測試請付費觀看) 以上我精心整理主要會使用到的功能 當然python功能太多了,肯定不只。 實際操作: 大概就這樣?(
Thumbnail
古有四大名著,現今Python四大容器🤣 哪四個?list串列,tuple元組,dict字典,set集合。 那這四個怎麼分? 一起來看看吧! (以下有手寫與上機實際測試請付費觀看) 以上我精心整理主要會使用到的功能 當然python功能太多了,肯定不只。 實際操作: 大概就這樣?(
Thumbnail
在 Python 中,dir() 函式用於列舉對象的所有屬性和方法。這包括對象的內建屬性、方法以及自定義的屬性和方法。以下是一個簡單的示例: 列舉所有屬性與方法 class MyClass: def __init__(self): self.attribute1 = 42
Thumbnail
在 Python 中,dir() 函式用於列舉對象的所有屬性和方法。這包括對象的內建屬性、方法以及自定義的屬性和方法。以下是一個簡單的示例: 列舉所有屬性與方法 class MyClass: def __init__(self): self.attribute1 = 42
Thumbnail
前幾篇討論到各種裝飾器的用法,本文將介紹另外一種裝飾器,可以將方法轉換成屬性來使用。 property也可以動態的取出物件的值,隨著時間或其他運算改變所產生的值,讓我們繼續往下看更多介紹吧。
Thumbnail
前幾篇討論到各種裝飾器的用法,本文將介紹另外一種裝飾器,可以將方法轉換成屬性來使用。 property也可以動態的取出物件的值,隨著時間或其他運算改變所產生的值,讓我們繼續往下看更多介紹吧。
Thumbnail
先前我們談論到靜態方法就像是定義工具箱一樣,那麼抽象方法就像是共用表格的概念,例如註冊帳號時會填寫的一些基本資料,就有包含制式的表格,裡面有需填寫的欄位,例如姓名,性別等。
Thumbnail
先前我們談論到靜態方法就像是定義工具箱一樣,那麼抽象方法就像是共用表格的概念,例如註冊帳號時會填寫的一些基本資料,就有包含制式的表格,裡面有需填寫的欄位,例如姓名,性別等。
Thumbnail
在日常中我們都會將很多事物定上了一個標籤,例如將商品標記價格,替孩子取姓名,公司上冠上職稱等等。 在Python中也有這種方法,就是字典的形式{ 'name' : 'crab', 'apple', 1000 }去呈現
Thumbnail
在日常中我們都會將很多事物定上了一個標籤,例如將商品標記價格,替孩子取姓名,公司上冠上職稱等等。 在Python中也有這種方法,就是字典的形式{ 'name' : 'crab', 'apple', 1000 }去呈現
Thumbnail
本文讓我們來淺談一下類別是什麼? 若想看詳細一點的python官方教學可點此連結 Python 的類別(Class)是一種面向物件導向程式設計的概念,讓你能夠創建具有屬性和方法的物件。類別是對現實世界中事物的抽象,它包含數據和操作這些數據的方法。它非常的抽象,想像一個類別就像是一個蛋糕模具,
Thumbnail
本文讓我們來淺談一下類別是什麼? 若想看詳細一點的python官方教學可點此連結 Python 的類別(Class)是一種面向物件導向程式設計的概念,讓你能夠創建具有屬性和方法的物件。類別是對現實世界中事物的抽象,它包含數據和操作這些數據的方法。它非常的抽象,想像一個類別就像是一個蛋糕模具,
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News