A.基本概念
1.字典性質
>字典是可變無序對象
>字典的鍵是不可變的對象,只能為number,tuple,str,frozenset,bytes
hash()可判斷一個對象能否作鍵
>字典是鍵值是可變的對象,且鍵值類型任意。
2.注意
>字典是唯一的映射類型,以鍵值對為元素,當把字典當序列用的時候,是
字典的鍵組成的序列
B.字典的定義
1.用符號{}定義:d={鍵A:鍵值A,鍵B:鍵值B……}
2.使用dict()的返回值定義
>dict() # 創建空字典
d=dict(a='a', b='b', t='t')傳入關鍵字
* =前為鍵必為一個變量名,=後為鍵值類型任意。
>d=dict(以二元素序列為元素的序列)
* 二元素的第一個為鍵(必須為可做鍵的元素),第二個為鍵值
如d=dict(('one',1),[ 'two', 2],['three',3])
3.使用字典類的方法
>d={}.fromkeys((鍵元組),共同鍵值)
4.字典生成式
>由列表、元組生成式構成
C.字典的方法
1.訪問
>直接使用鍵訪問
·d[鍵],即為該鍵對應的鍵值。
·dict.get(key[,default])
參數:dict 字典
key 指定的鍵
default 指定鍵不存在時,返回的默認值,如不指定會返回 None
>循環遍歷訪問
·遍歷字典的鍵
for 迭代變量 in 字典/字典.keys()
print (迭代變量)
·遍歷字典的值
for 迭代變量 in 字典.values()
print (迭代變量)
* 也可以遍歷字典的鍵,再索引遍歷字典的值
·遍歷字典的鍵值對
for 迭代變量A,迭代變量B in 字典.items()
print (迭代變量A)
print (迭代變量B)
2.添加
>使用鍵值添加
語法:d[新鍵]=新鍵值
>使用另一字典更新另一字典
函數:dict.update(_dict) 參數:dict被更新字典 _dict更新字典
說明:若被更新字典包含更新字典的鍵值對,則被更新字典的鍵值會被
覆蓋若被更新字典中不包含更新字典的鍵值對,則該鍵值對被添
加進去
>設置默認鍵
函數:d.setdefault(鍵,值)
功能:鍵存在返回鍵值,鍵不存在,在字典中添加此鍵,並返回新鍵值。
3.替換
>使用鍵值替換
語法:d[其中的一個鍵值]=新鍵值
4.刪除
>按鍵刪除
函數:d.pop(鍵)
功能:刪除此鍵對應鍵值對,並返回此鍵對應鍵值
>清空字典
函數:d.clear()
>彈出棧
函數:d.popitem()
功能:隨機刪除原字典最後一對鍵值,並以元組形式返回刪除的鍵值對
5.判斷
>判斷該字典是否有此鍵值
語法:key (not)in dict
6.信息
>返回鍵列表(可迭代對象) d.keys()
>返回鍵值列表(可迭代對象) d.values()
>返回包含鍵值對的元組(可迭代對象) d.items()
7.其它
>工廠字典
函數:d.fromkeys((鍵A,鍵B…),x)
功能:返回一個有相同的鍵值x的字典(x默認None)
>深拷貝
函數:d.copy()