[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'}


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


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

113會員
172Content count
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
留言0
查看全部
發表第一個留言支持創作者!
螃蟹_crab的沙龍 的其他內容
列表(List)和元組(Tuple)都是 Python 中用來存儲集合元素的數據結構,兩者看起來很像,在初學時很容易搞混,所以觀念要建立好。 可以把列表(List)和元組(Tuple)想像成是一個容器,什麼元素都可以塞
邏輯運算子 它們在許多情境下都是程式語言中重要的工具,用於進行條件判斷和控制流程 在日常中總會遇到有些需要思考判斷的問題,比如要買東西,就會考慮到CP值,東西要好且要便宜,就是and的概念,如果在一些比較複雜的狀況,例如想晚餐吃什麼,就會想火鍋或燒烤都行,這就是or的概念。
在Python中,數值運算非常直觀,你可以使用標準的數學運算符號進行基本的數值運算。以下是一些基本的數值運算: 進行計算時,按照「先乘除後加減」的規則,並優先計算小括號刮起來的運算式。 print('答案:' ,(1+1)*2) #​答案: 4 復合型態的運算子 指定運算子 = 若是結合算術
宣告變數 變數是程式中用來儲存和表示數據的標識符號​,並將變數存放在某個記憶體位子 可以用ID的方法查找變數存在哪個記憶體,此方法有利於以後查找問題用。 在大多數程式語言中,變數需要事先聲明(宣告)並賦值。 而Python是一種動態類型語言,不需要顯式宣告變數類型,而是在賦值時自動進行推斷。
本文讓我們來淺談一下類別是什麼? 若想看詳細一點的python官方教學可點此連結 Python 的類別(Class)是一種面向物件導向程式設計的概念,讓你能夠創建具有屬性和方法的物件。類別是對現實世界中事物的抽象,它包含數據和操作這些數據的方法。它非常的抽象,想像一個類別就像是一個蛋糕模具,
本文將介紹自定函式及應用,利用程式範例解釋為什麼要用到自定函式 自定函式好處當然就是,讓你的程式碼看起來比較簡潔,在重複使用到的程式碼區塊,可以包裝成函式,讓你重複使用它。
列表(List)和元組(Tuple)都是 Python 中用來存儲集合元素的數據結構,兩者看起來很像,在初學時很容易搞混,所以觀念要建立好。 可以把列表(List)和元組(Tuple)想像成是一個容器,什麼元素都可以塞
邏輯運算子 它們在許多情境下都是程式語言中重要的工具,用於進行條件判斷和控制流程 在日常中總會遇到有些需要思考判斷的問題,比如要買東西,就會考慮到CP值,東西要好且要便宜,就是and的概念,如果在一些比較複雜的狀況,例如想晚餐吃什麼,就會想火鍋或燒烤都行,這就是or的概念。
在Python中,數值運算非常直觀,你可以使用標準的數學運算符號進行基本的數值運算。以下是一些基本的數值運算: 進行計算時,按照「先乘除後加減」的規則,並優先計算小括號刮起來的運算式。 print('答案:' ,(1+1)*2) #​答案: 4 復合型態的運算子 指定運算子 = 若是結合算術
宣告變數 變數是程式中用來儲存和表示數據的標識符號​,並將變數存放在某個記憶體位子 可以用ID的方法查找變數存在哪個記憶體,此方法有利於以後查找問題用。 在大多數程式語言中,變數需要事先聲明(宣告)並賦值。 而Python是一種動態類型語言,不需要顯式宣告變數類型,而是在賦值時自動進行推斷。
本文讓我們來淺談一下類別是什麼? 若想看詳細一點的python官方教學可點此連結 Python 的類別(Class)是一種面向物件導向程式設計的概念,讓你能夠創建具有屬性和方法的物件。類別是對現實世界中事物的抽象,它包含數據和操作這些數據的方法。它非常的抽象,想像一個類別就像是一個蛋糕模具,
本文將介紹自定函式及應用,利用程式範例解釋為什麼要用到自定函式 自定函式好處當然就是,讓你的程式碼看起來比較簡潔,在重複使用到的程式碼區塊,可以包裝成函式,讓你重複使用它。
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
Dictionary(字典) : 是一個可以用來存放不同資料(不同型態)的容器(集合) 每一個元素都是以{鍵(Key):值(Value)}所構成,字典中每個項目都是用","隔開
Thumbnail
在如今的資訊時代,如何有效的獲取並處理數據,成為了許多專業人士和企業的重要需求,爬蟲技術,作為獲取網絡數據的重要工具,其重要性不言而喻,而這篇文章將分享Python爬蟲的基礎,讓你能獲取想要的網頁數據。
Thumbnail
Python 基本語法 python 語法的後綴名是以.py 結尾 python 執行方式 使用交互介面執行 使用 python test.py 命令執行 使用./test.py 執行 python 標示符 以單下劃線開頭的屬性,表示是類的私有屬性(包括方法,變量)。如:_foo表示不能直接訪問的類
詳細原碼: https://reurl.cc/ex8lZm hello world Variable (變數) 輸入 input() 四則運算 列表 list (陣列) 集合 字典(Dictionary) 給值 try 檢驗 取所有值 判斷式 If else 迴圈 Switch //字典方式 CSV
Thumbnail
「VSCode 是世上最棒的 IDE 了吧」這時有人跳出來表示不服,定睛一看原來是那陳年的大哥 Visual Studio,他說道:「用 Windows 做開發的人一定要裝 Visual Studio 這樣專業的 IDE,不要裝其他次等的文字編輯器,才可以有效提升專業度。」
Thumbnail
在上篇文章中,我們學會了如何串接各個平台,並且簡單做出了一個會模仿我們說話的機器人,接下來我們將會從LINE Bot有哪些基本的回訊息功能來介紹起,而今天就先從推播以及回覆開始說起吧!!
Thumbnail
在上一篇文章中,我們已經準備好製作LINE機器人的工具了,接下來我們就要來做一個最簡單的Python與LINE的串接練習,讓我們的機器人活起來,並且做出最基本的回話功能,如果還沒準備好串接所需的工具,記得先去看《【python】Python+LINE Bot 輕鬆打造股市機器人(二) : 所需準備的
Thumbnail
在我們正式開始Python串接LINE Bot的教程之前,有必要先為大家準備好所需的工具。實際上,製作LINE Bot的工具有很多選擇,我將會介紹我在製作過程中所使用的具體工具有哪些,以及如何進行事前的準備工作。讓我們一起走進這個有趣的製作過程吧!
Thumbnail
每當要研究投資標的時,你是否也會覺得A網站的財報資料完整,又覺得B網站的選股條件完善,又覺得C網站的新聞比較重要,有時身邊又沒有隨身攜帶筆電怎麼好查詢呢?這時可能就在想怎麼沒有人開發一個程式能完成符合我想要的功能啊~~與其求助於人,不如自己動手做最好,有相同煩惱的人,LINE Bot超適合你!!
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
Dictionary(字典) : 是一個可以用來存放不同資料(不同型態)的容器(集合) 每一個元素都是以{鍵(Key):值(Value)}所構成,字典中每個項目都是用","隔開
Thumbnail
在如今的資訊時代,如何有效的獲取並處理數據,成為了許多專業人士和企業的重要需求,爬蟲技術,作為獲取網絡數據的重要工具,其重要性不言而喻,而這篇文章將分享Python爬蟲的基礎,讓你能獲取想要的網頁數據。
Thumbnail
Python 基本語法 python 語法的後綴名是以.py 結尾 python 執行方式 使用交互介面執行 使用 python test.py 命令執行 使用./test.py 執行 python 標示符 以單下劃線開頭的屬性,表示是類的私有屬性(包括方法,變量)。如:_foo表示不能直接訪問的類
詳細原碼: https://reurl.cc/ex8lZm hello world Variable (變數) 輸入 input() 四則運算 列表 list (陣列) 集合 字典(Dictionary) 給值 try 檢驗 取所有值 判斷式 If else 迴圈 Switch //字典方式 CSV
Thumbnail
「VSCode 是世上最棒的 IDE 了吧」這時有人跳出來表示不服,定睛一看原來是那陳年的大哥 Visual Studio,他說道:「用 Windows 做開發的人一定要裝 Visual Studio 這樣專業的 IDE,不要裝其他次等的文字編輯器,才可以有效提升專業度。」
Thumbnail
在上篇文章中,我們學會了如何串接各個平台,並且簡單做出了一個會模仿我們說話的機器人,接下來我們將會從LINE Bot有哪些基本的回訊息功能來介紹起,而今天就先從推播以及回覆開始說起吧!!
Thumbnail
在上一篇文章中,我們已經準備好製作LINE機器人的工具了,接下來我們就要來做一個最簡單的Python與LINE的串接練習,讓我們的機器人活起來,並且做出最基本的回話功能,如果還沒準備好串接所需的工具,記得先去看《【python】Python+LINE Bot 輕鬆打造股市機器人(二) : 所需準備的
Thumbnail
在我們正式開始Python串接LINE Bot的教程之前,有必要先為大家準備好所需的工具。實際上,製作LINE Bot的工具有很多選擇,我將會介紹我在製作過程中所使用的具體工具有哪些,以及如何進行事前的準備工作。讓我們一起走進這個有趣的製作過程吧!
Thumbnail
每當要研究投資標的時,你是否也會覺得A網站的財報資料完整,又覺得B網站的選股條件完善,又覺得C網站的新聞比較重要,有時身邊又沒有隨身攜帶筆電怎麼好查詢呢?這時可能就在想怎麼沒有人開發一個程式能完成符合我想要的功能啊~~與其求助於人,不如自己動手做最好,有相同煩惱的人,LINE Bot超適合你!!