字典與集合

m0_52873648發表於2020-12-09

一丶字典的概念
在現實生活中,字典可以查詢某個詞的語義,即詞與語義建立了某種關係,通過詞的索引便可以找到對應的語義,如圖所示。在這裡插入圖片描述
在Python中,字典也如現實生活中的字典一樣,使用詞-語義進行資料的構建,其中詞對應鍵(key),詞義對應值(value),即鍵與值構成某種關係,通常將兩者稱為鍵值對,這樣通過鍵可以快速找到對應的值。
字典是由元素構成的,其中每個元素都是一個鍵值對,具體示例如下:在這裡插入圖片描述
示例中,字典由3個元素構成,元素之間用逗號隔開,整體用大括號括起來。每個元素是一個鍵值對,鍵與值之間用冒號隔開,如’name’:‘xiaoqian’,'name’是鍵,‘xiaoqian’是值。
因為字典是通過鍵來索引值的,所以鍵必須是唯一的,而值並不唯一,具體示例如下:在這裡插入圖片描述
示例中,字典中有兩個元素的鍵為’name’,有兩個元素的值為98.5。若通過print(student)輸出字典,則得到以下輸出結果:在這裡插入圖片描述
從上述結果可看出,如果字典中存在相同鍵的元素,那麼只會保留後面的元素。
另外,鍵不能是可變資料型別,如列表,而值可以是任意資料型別,具體示例如下:在這裡插入圖片描述
上述語句在程式執行時會引發錯誤。
通過上面的學習,可以總結出字典具有以下特徵:
字典中的元素是以鍵值對的形式出現的。
鍵不能重複,而值可以重複。
鍵是不可變資料型別,而值可以是任意資料型別。
二丶字典的建立
瞭解了字典的概念後,接下來建立一個字典,具體示例如下:在這裡插入圖片描述
上述語句建立了一個空字典,也可以在建立字典時指定其中的元素,具體示例如下:在這裡插入圖片描述
字典中值可以取任何資料型別,但鍵必須是不可修改的,如字串、元組,具體示例如下:在這裡插入圖片描述
此外,還可以使用dict()來建立字典,如例所示。
在這裡插入圖片描述
此外,dict()還可以通過設定關鍵字引數建立字典,如例所示。
在這裡插入圖片描述
三丶字典的常用操作
在實際開發中,字典使得資料表示更加完整,因此它是應用最廣的一種資料型別。想要熟練運用字典,就必須熟悉字典中常用的操作。
1 計算元素個數
字典中元素個數可以通過len()函式來獲取,如例所示。在這裡插入圖片描述
執行結果如圖所示。
在這裡插入圖片描述
2 訪問元素值
列表與元組是通過下標索引訪問元素值,而字典是通過元素的鍵來訪問值,如例所示。在這裡插入圖片描述
有時不確定字典中是否存在某個鍵而又想訪問該鍵對應的值,則可以通過get()函式實現,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
3 修改元素值
字典中除了通過鍵訪問值外,還可以通過鍵修改值,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
4 新增元素
通過鍵修改值時,如果鍵不存在,則會在字典中新增該鍵值對,如例所示。在這裡插入圖片描述
此外,還可以通過update()函式修改某鍵對應的值或新增元素,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
5 刪除元素
刪除字典中的元素可以通過“del 字典名[鍵]”實現,如例所示。
在這裡插入圖片描述
如果想刪除字典中所有元素,則可以使用clear()實現,如例所示。在這裡插入圖片描述
注意使用“del 字典名”可以刪除字典,刪除後,字典就完全不存在,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
6 複製字典
有時需要將字典複製一份以便用於其他操作,這樣原字典資料不受影響,這時可以通過函式copy()函式來實現,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
7 成員運算
字典中可以使用成員運算子(in、not in)來判斷某鍵是否在字典中,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
.8 設定預設鍵值對
有時需要為字典中某個鍵設定一個預設值,則可以使用setdefault()函式,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
9 獲取字典中的所有鍵
keys()函式可以獲取字典中所有元素的鍵,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
10 獲取字典中的所有值
values()函式可以獲取字典中所有元素鍵所對應的值,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
11 獲取字典中所有的鍵值對
items()函式可以獲取字典中所有的鍵值對,如例所示。
在這裡插入圖片描述
此外,items()函式與for迴圈結合可以遍歷字典中的鍵值對,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
12 隨機刪除元素
popitem()函式可以隨機返回並刪除一個元素,如例所示。在這裡插入圖片描述
此外,pop()函式可以根據指定的鍵刪除元素,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
四丶集合的概念
集合是由一組無序排列且不重複的元素組成,具體示例如下:在這裡插入圖片描述
集合使用大括號表示,元素型別可以是數字型別、字串、元組,但不可以是列表、字典,具體示例如下:在這裡插入圖片描述
使用大括號建立的集合屬於可變集合,即可以新增或刪除元素。此外,還存在一種不可變集合,即不允許新增或刪除元素。
接下來演示建立這兩種集合的方法,如例所示。在這裡插入圖片描述
集合的一個重要用途是將一些資料結構中的重複元素去除,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
五丶集合的常用操作
同其他資料型別類似,集合也有一系列常用的操作,例如新增元素、刪除元素等。通過這些操作,可以很方便地處理集合。
1 新增元素
集合中新增元素可以使用add()和update()函式,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
2 刪除元素
集合中刪除元素可以使用remove()和discard()函式,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
3 集合運算
集合可以參與多種運算,如表所示。在這裡插入圖片描述
接下來演示這些運算的用法,如例所示。在這裡插入圖片描述
除了上述運算子外,還可以通過union()、intersection()與difference()函式實現集合的並集、交集與差集,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
.4 集合遍歷
集合可以通過for迴圈遍歷其中的元素,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
六丶字典推導與集合推導
字典推導與列表推導相似,它將推匯出一個字典,具體示例如下: 在這裡插入圖片描述
字典推導使用大括號包圍,並且需要兩個表示式,一個生成key,一個生成value,兩個表示式之間使用冒號分隔,結果返回字典。若通過print()列印dict1,則輸出結果為:在這裡插入圖片描述
上述就是一個簡單的字典推導,接下來演示稍微複雜的字典推導,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
集合推導也與列表推導相似,只需將中括號改為大括號,具體示例如下:在這裡插入圖片描述
集合推導將返回一個集合。若通過print()列印set1,則輸出結果為:在這裡插入圖片描述
接下來演示集合推導的用法,如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
七丶小案例
案例一
小千、小鋒與小明在扣丁學堂上學習幾門不同的IT課程,每人已經學習的課時數也不同,現用字典儲存每人學習的課程與課時數,統計Python課程的總課時數,具體實現如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
案例二
輸入一句英文,統計英文中出現的字母及次數,使用字典儲存每個字母及次數,具體實現如例所示。在這裡插入圖片描述
執行結果如圖所示。在這裡插入圖片描述
本章小結
本章主要介紹了Python中的字典與集合,兩者都使用大括號表示。字典中每個元素都是由鍵與值組成的,其中鍵為不可變型別,而值可以為任意型別。字典在實際開發中經常使用,大家應熟練掌握其常用操作。集合是由一組無序排列且不重複的元素組成的,經常用於去重。集合在實際開發中使用不多,大家只需瞭解即可。

相關文章