#Python3 [字典】型別 學習筆記
一、字典型別基本知識:
1、字典是一種可變容器模型,且可存盤任意型別物件,
2、字典采用 鍵值對的方式存盤物件,鍵:值對之間用冒號(:)對應,每個對用逗號(,)分隔,每個字典包含在 { } 之中,
例:a={k1:v1,k2:v2,k3:v3}
3、鍵必須是唯一的,但值不必須,
4、值可以是任意資料型別,但鍵必須是不可變的,
二、字典的基本操作:
1、字典的創建
(101)直接定義創建:dict={'a':'123','b':5}
(102)函式創建:fromkeys( ):
語法:dict.fromkeys(seq [,value]) #seq:字典鍵的串列;value:可選引數, 設定鍵序列(seq)對應的值,默認為 None,回傳一個新字典,
例:seq=['name','age','sex']
dict=dict.fromkeys(seq) #字典鍵對應的值 默認為:None,
或:dict=dict.fromkeys(seq,10) #字典鍵對應的值 為:10
2、字典值的訪問:通過鍵名獲取鍵值:例:dict['a'] 【如果鍵名不存在,則報錯】
3、字典值的修改:通過鍵名修改鍵值:例:dict['a']='456'
4、字典值的洗掉:
(401)通過鍵名洗掉鍵值:例:del dict['a']
(402)通過鍵名洗掉鍵值:例:pop( )函式 #洗掉字典給定鍵 key 所對應的值,回傳值為被洗掉的值,key值必須給出, 否則,回傳default值,
語法:pop(key [,default]) #key:要洗掉的值的鍵名;dault:當key不存在時,回傳的默認值;如果當key不存在時,沒有默認值,系統則會報錯,
(403)dict.popitem() :隨機回傳并洗掉字典中的最后一對鍵和值;如果字典已經為空,卻呼叫了此方法,就報出KeyError例外;回傳洗掉的(鍵值對),
(404)清空字典:dict.clear() #洗掉索引字典的元素,
(405)洗掉字典:del dict #沒有了這個字典變數
三、字典鍵:值的特性:
1、字典的值:可以是Python的任意型別,可以是是標準型別,也可以是用戶自定義型別,
2、字典的鍵:
(201)必須不可變,鍵可以用字串、數字、元組,但串列不行,
(202)鍵名不能重復,如果重復,系統只認最后一個,
四、字典內置函式:字典:dict={‘name’:'wang','age':18,'sex':'男‘’}
1、len(dict):獲取字典元素個數,
2、str(dict):輸出字典,以字串的方式表示,
3、type(dict):如果dict是字典型別,則輸出型別字典,
4、dict.copy( ):字典的拷貝,
5、dict.get(key,default=None):獲取鍵所對應的值,如果鍵不存在,則回傳默認值,
6、dict.setdefault(key,dault=None):獲取鍵所對應的值,如果鍵不存在于字典中,將會添加鍵并將值設為默認值,
7、key in dict:判斷鍵key是否在字典dict中,在回傳True,不在回傳False,【或 key not in dict】
8、dict1.update(dict2):把字典dict2的鍵值對更新到字典dict1中,【把字典2的鍵值對,合并到字典1中】
9、dict.items():以串列方式回傳視圖物件,是一個可遍歷的key/value 對,
例:
dict={'name':'wang','age':18,'sex':'男'}
print(dict.items())
for k,v in dict.items():
print('k:',k ,'\n','v:',v)
顯示:
dict_items([('name', 'wang'), ('age', 18), ('sex', '男')])
k: name
v: wang
k: age
v: 18
k: sex
v: 男
10、dict.keys():回傳一個視圖物件;提供了字典物體的動態視圖,這就意味著字典改變,視圖也會跟著變化,視圖物件不是串列,不支持索引,可以使用 list() 來轉換為串列;我們不能對視圖物件進行任何的修改,因為字典的視圖物件都是只讀的,
例:keys=dict.keys() #獲取字典 鍵的串列,回傳的是串列,
11、dict.values:回傳一個視圖物件;提供了字典物體的動態視圖,這就意味著字典改變,視圖也會跟著變化,視圖物件不是串列,不支持索引,可以使用 list() 來轉換為串列;我們不能對視圖物件進行任何的修改,因為字典的視圖物件都是只讀的,
例:values=dict.values() #獲取字典值的串列,回傳的是串列,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/350695.html
標籤:其他
