Python3萌新入門筆記(10)

這一篇教程,我們來了解Python中的第四種數據結構–字典(dict)。

字典同樣是一個序列,不過字典的元素是由key(鍵,可理解爲關鍵字或名稱)與values(值)組成。

就好像我們查字典,一個拼音對應着與之關聯的一個或多個漢字,拼音就key,而對應的漢字就是values。

字典兩側和集合一樣是大括號,其中每一個元素都是“key:values”的形式,並且每個元素間以逗號分隔。

例如:{‘yue’:[‘月’,’約’,’樂’],’ri’:’日’,’le’:’了’,’liao’:’了’}

字典中的值沒有特定順序,但必須用一個特定的鍵存儲。

字典的鍵必須是不可變的數據類型,可以是數字、字符串或者元組。

說明:這種能夠通過名稱引用值的數據類型稱做映射(Mapping),字典是Python中唯一內建的映射類型。映射的概念好像比較難懂,以我個人的理解,映射就是名稱集合與值集合的對應關係,一個名稱可以對應不同的值,但是一個值只能有唯一的名稱。

使用字典需要注意以下幾點:

  • 字典中不能夠出現相同的鍵,但可以出現相同的值。
  • 字典中的鍵不能夠更改,但值可以更改。
  • 字典的值可以爲Python中的任何對象。

接下來,我們來看一下關於字典的相關操作。

1、創建字典

創建字典可以直接按格式創建,也可以使用dict()方法進行創建。

dict(**kwarg):參數**kwarg爲可變關鍵字參數。

dict(mapping, **kwarg):參數mapping爲映射函數。

dict(iterable, **kwarg):參數iterable爲可迭代對象。

示例代碼:

d = {} # 創建空字典
d = dict() # 創建空字典
d = {'yue':['月','約','樂'],'ri':'日','le':'了','liao':'了'} # 創建字典
d = dict(小樓='好帥', 蒼井='好美') # 通過可變參數創建字典
d = dict([('小樓','好帥'), ('蒼井','好美')]) # 通過可迭代對象(列表)創建字典

另外,還有一種字典的創建方式,通過fromkeys(seq,value)方法進行創建,參數seq爲包含key的序列,參數value爲key的默認值。

示例代碼:

k = ['小樓','明步'] # key的列表
d1 = dict.fromkeys(k) # 從key的列表創建字典
d2 = dict.fromkeys(k,'哦哦') # 從key的列表創建字典,並賦予默認值
print (d1) # 顯示輸出結果爲:{'小樓': None, '明步': None}
print (d2) # 顯示輸出結果爲:{'小樓': '哦哦', '明步': '哦哦'}

2、查詢元素

首先,查詢字典中的元素。

我們可以使用items()方法,通過items()方法可以獲取到字典中所有元素的迭代器。

提示:關於迭代器,大家可以暫時不用關心,在後面的教程中有專門的講解。

示例代碼:

d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
print (d.items())  # 顯示輸出結果爲:dict_items([('小樓', '好帥'), ('蒼井', '好美')])

然後,查詢字典中元素的鍵。

我們可以使用keys()方法,通過keys()方法可以獲取到字典中所有元素鍵的迭代器。

示例代碼:

d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
print (d.keys())  # 顯示輸出結果爲:dict_keys(['小樓', '蒼井'])

最後,查詢字典中元素的值。

查詢元素值有多種方法:

第一種,通過鍵可以獲取相對應的值:字典[鍵]

示例代碼:

d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典

print (d['小樓'])  # 顯示輸出結果爲:好帥
print (d['蒼井'])  # 顯示輸出結果爲:好美

第二種,通過get(k,default)方法查詢,參數k爲查詢的鍵,參數default爲未查詢到結果時的默認值。

示例代碼:

d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
print (d.get('小樓', '男神'))  # 顯示輸出結果爲:好帥
print (d.get('櫻井', '女神'))  # 顯示輸出結果爲:女神

第三種、通過values()方法可以獲取到字典中所有元素值的迭代器。

示例代碼:

d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
print (d.values())  # 顯示輸出結果爲:dict_values(['好帥', '好美'])

3、添加元素

添加單個元素:

首先,可以通過“字典[鍵]=值”的方式進行添加,如果字典中不存在相同的鍵則自動添加,否則修改已存在的鍵所對應的值。

示例代碼:

d = {'小樓': '好帥', '蒼井': '好美'}
d['櫻井'] = '好棒'  # 添新元素到字典
d['明步'] = '好大', '好白'  # 添加值爲元組的新元素到字典
print (d)  # 顯示輸出結果爲:{'小樓': '好帥', '蒼井': '好美', '櫻井': '好棒', '明步': ('好大', '好白')}

另外,還可以通過setdefault(k,default)方法進行添加,參數k爲指定的鍵,參數default爲默認值。當字典中存在指定的鍵時,能夠返回該鍵所對應的值;如果不存在指定的鍵時,則會返回參數default中設置的值,同時,在字典中會添加新元素,新元素的鍵即爲參數k,值即爲參數default。

示例代碼:

d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
print (d.setdefault('小樓', '好棒'))  # 字典中存在相應的鍵,則返回該鍵對應的值,顯示輸出結果爲:好帥
print (d.setdefault('櫻井', '好爽'))  # 字典中不存在相應的鍵,則返回default參數的值,顯示輸出結果爲:好爽
print (d)  # 當字典中不存在相應的鍵時,添加新元素,顯示輸出結果爲:{'小樓': '好帥', '蒼井': '好美', '櫻井': '好爽'}

添加多個元素:通過update(m,kwargs)方法進行添加,參數m(mapping)爲映射函數,kwargs爲可變參數。

示例代碼:

d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
d.update(櫻井='好白', 明步='好大')  # 通過可變參數添加多個元素
print (d) # 顯示輸出結果爲:{'小樓': '好帥', '蒼井': '好美', '櫻井': '好白', '明步': '好大'}
d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
d.update((('櫻井','好白'),('明步','好大')))  # 通過元組添加多個元素
print (d) # 顯示輸出結果爲:{'小樓': '好帥', '蒼井': '好美', '櫻井': '好白', '明步': '好大'}
d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
d.update([('櫻井','好白'),('明步','好大')]) # 通過列表添加多個元素
print (d) # 顯示輸出結果爲:{'小樓': '好帥', '蒼井': '好美', '櫻井': '好白', '明步': '好大'}
d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
d.update({'櫻井': '好白', '明步': '好大'}) # 通過字典添加多個元素
print (d) # 顯示輸出結果爲:{'小樓': '好帥', '蒼井': '好美', '櫻井': '好白', '明步': '好大'}
d1 = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
d2 = {'櫻井': '好白', '明步': '好大'}  # 創建字典
d1.update(d2) # 合併字典元素
print (d) # 顯示輸出結果爲:{'小樓': '好帥', '蒼井': '好美', '櫻井': '好白', '明步': '好大'}

4、修改元素值

修改某個鍵對應的元素:字典[鍵]=新值

示例代碼:

d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
d['小樓'] = '好棒'
print (d)  # 顯示輸出結果爲:{'小樓': '好棒', '蒼井': '好美'}

5、刪除元素

使用del指令可以通過鍵刪除某個元素:del 字典[鍵]

示例代碼:

d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
del d['蒼井']  # 刪除元素
print (d)  # 顯示輸出結果爲:{'小樓': '好帥'}

6、取出元素與元素值

我們可以使用popitem()方法在字典中取出元素。

示例代碼:

d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
print (d.popitem())  # 顯示輸出結果爲:('蒼井', '好美')
print (d)  # 顯示輸出結果爲:{'小樓': '好帥'}

並且,我們可以使用pop(k,default)方法在字典中取出指定元素的值,參數k爲指定元素的鍵,參數default爲未取到結果時的默認值。

d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
print (d.pop('小樓'))  # 顯示輸出結果爲:好帥
print (d.pop('櫻井', '好爽'))  # 顯示輸出結果爲:好爽
print (d)  # 顯示輸出結果爲:{'蒼井': '好美'}

7、設置默認值

d = {'小樓': '好帥', '蒼井': '好美'}  # 創建字典
print (d.setdefault('小樓', '好棒'))  # 顯示輸出結果爲:好帥
print (d.setdefault('櫻井', '好爽'))  # 顯示輸出結果爲:好爽
print (d)  # 顯示輸出結果爲:{'小樓': '好帥', '蒼井': '好美', '櫻井': '好爽'}

8、其他

字典也支持使用以下方法:

clear():清空字典

copy():複製字典:

len():獲取字典元素數量

max():獲取字典中最大的鍵

min():獲取字典中最小的鍵

同時,字典也支持通過in和not in進行成員關係的判斷。

大家可以參照集合中這些方法的使用,在此不做舉例。

本節知識點:

數據結構(字典)的相關操作。

本節英文單詞與中文釋義:

1、dict:字典

2、key:鍵/關鍵字

3、value:值

4、item:項

5、mapping:映射

6、seq(sequence):序列

7、from:從/來自

8、get:獲取

9、default:默認

10、none:沒有

11、arg:可變元素

12、kwargs(keyword args):可變關鍵字元素

 轉載自:魔力 • Python »Python3萌新入門筆記(10)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章