字典與集合
一丶字典的概念
在現實生活中,字典可以查詢某個詞的語義,即詞與語義建立了某種關係,通過詞的索引便可以找到對應的語義,如圖所示。
在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中的字典與集合,兩者都使用大括號表示。字典中每個元素都是由鍵與值組成的,其中鍵為不可變型別,而值可以為任意型別。字典在實際開發中經常使用,大家應熟練掌握其常用操作。集合是由一組無序排列且不重複的元素組成的,經常用於去重。集合在實際開發中使用不多,大家只需瞭解即可。
相關文章
- python中的集合與字典Python
- 字典和集合
- 22、Python 字典推導與集合推導Python
- 字典,元組,集合
- Swift - 陣列、字典、集合Swift陣列
- Python的字典、集合和函式Python函式
- 2.列表_元組_字典_集合
- python_列表——元組——字典——集合Python
- Python學習筆記 5.0 元組 與 字典 與 集合 與 公共操作 與 推導式Python筆記
- 2020-11-17 元組 字典 集合
- 內建資料結構集合和字典資料結構
- 字典,元組,集合的增刪改查
- Python學習之路22-字典和集合Python
- 3-python 元組 字典 集合的操作Python
- Python基礎知識七 元組&字典&集合Python
- Python 列表、元組、字典及集合操作詳解Python
- Python中列表、元組、字典、集合與字串,相關函式,持續更新中……Python字串函式
- 05-Python—列表、元祖、字典、集合操作大全:建議收藏Python
- 筆記-集合NSSet、字典NSDictionary的底層實現原理筆記
- 集合與列表
- 第十二天 Python之字典遍歷-集合-函式Python函式
- 列表與字典中的坑
- Python的元組()與字典{}Python
- Python的元組()與字典 { }Python
- 【Python_029】內建資料結構,列表 | 字典 | 集合 | 元組Python資料結構
- Rust 集合與字串Rust字串
- Python建立字典與fromkeys的坑Python
- json與字典的相互轉化JSON
- python元組與字典簡介Python
- 玩轉python字典與列表(上)Python
- 玩轉python字典與列表(中)Python
- 玩轉python字典與列表(下)Python
- 資料型別第2篇「字典和集合的原理和應用」資料型別
- Python列表、元組、集合、字典的區別是什麼?入門知識!Python
- python-進階教程-對兩個集合/字典求交集、差集、並集Python
- 字典服務的設計與管理
- Python 列表與字典 排序 的奇妙之旅Python排序
- Redis 設計與實現 4:字典Redis