一.字典的作用
作用:字典是用來記錄多個值,使用key來對應值(列表和元組都是索引、位置來對應值),key通常字串型別,對value具有描述性功能,不是由個數來表述的
二.字典的定義
定義:{}內用逗號分隔開多元素,每乙個元素都是key:value的形式,其中value可以是任意型別,則key必須是不可變型別,且key不能重複,通常key是字串
型別,因為key對
value有描述性功能
語法一:info = #可以用字串、整型、浮點型、元組都可以當key,但是不能用列表當key
語法二:info = dict(x = 6,y = 9,c = 7) #這樣也可以造字典,輸出結果為
注:如果{}括號內沒有填值,這預設為乙個空字典;如 d = {};
三.資料型別轉換
案例一,把乙個列表中的值轉換為字典
info = [
["姓名","夏亮"],
["性別","男"],
["年齡",31]
name = dict(info) #用dict直接把列表轉換為字典,需要用dict轉換時,列表中每個小列表必須有兩個值;迴圈列表中的值,把巢狀類別中的第乙個值當做key,第二個當做value
print(name)
輸出結果:
案例二,快速初始化乙個字典,把乙個列表中的值取出來,當做字典的key,並且value都為none
info = ["姓名","姓名","年齡"]
reg = {}.fromkeys(info,none) #迴圈info列表中的值,然後存入到乙個空字典中當做key,value為none,這裡none為預設值,也可以指定為其他的預設值
print(reg)
輸出結果:
四.內建方法
1.優先掌握
1.1 按key存、取值:可存可取
案例一:
name =
name["姓名"]="xialiang" #針對賦值操作:key存在,則直接修改
print(name)
輸出結果:
案例二:
name =
name["性別"]="男" #針對賦值操作:key不存在,則直接建立新值
print(name)
輸出結果:
2.長度:len
d =
print(d)
輸出結果: #key不能重複,這裡key重複了,所以只取乙個
print(len(d))
輸出結果:2 #key不能重複,這裡k1三個,只能算乙個
3.成員運算in 和not in:根據key來找的
d =
print("k1" in d) #key(k1)存在d字典中
輸出結果:true
4.刪除
4.1 通用刪除方法:del
d =
del d["k1"] #刪除字典中指定的key
print(d)
輸出結果:
4.2 pop刪除:根據key刪除元素,可以返回key對應的value值,如:res = d.pop("k2"),輸出結果會顯示k2對應的值
d =
d.pop("k2") #刪除字典中指定的key,與del一樣
輸出結果:
4.3 popitem刪除:預設刪除最後乙個元素,返回乙個元組(刪除的key,刪除的value),如:res=d.popitem(),輸出結果會顯示('k4', 44)
d =
d.popitem() # 預設刪除字典中最後乙個key
輸出結果:
5.鍵keys()、值values()、鍵值對items()
d =
print(d.keys()) #獲取字典中所有的key
輸出結果:dict_keys(['k1', 'k2', 'k3', 'k4'])
print(d.values()) #獲取字典所有的value
輸出結果:dict_values([11, ['xialiang', 'zhuguil'], 33, 44])
print(d.items())
輸出結果:dict_items([('k1', 11), ('k2', ['xialiang', 'zhuguil']), ('k3', 33), ('k4', 44)]) #獲取字典中所有的鍵值對
五.其他的內建方法(需要掌握的)
1.clear() #清空字典中的值
案例:d =
d.clear() #清空字典中的值
print(d)
輸出結果:{}
2.update() #更新字典中的值,當key存在字典中,修改字典中的值;當key不存在字典中,則增加原字典中的值
案例:d =
vl = #vl中有些key存在字典中,有些key不存在字典中,則存在就修改,不存在就增加
d.update(vl)
輸出結果:
3.get() #key存在字典中,則獲取key所對應的value;key不存在,則返回none
案例:d =
res = d.get("k2") #key存在返回所對應的value,不存在返回none
輸出結果:['xialiang', 'zhuguil']
注意:用res = d["k2"]也可以去取出k2的value,輸出結果一樣,當如果key不存在時,程式就會報錯,但是用get()方法就不會不報錯,表示get()方法容錯性好
4.setdefault() #當字典中存在key,則不修改;當字典中不存在key,則增加
案例:d =
d.setdefault("k1",22) #字典中存在key,則列印出來還是原來key對應的值
print(d)
輸出結果:
d.d.setdefault("k8",22) #字典中不存在key,則列印出來結果會把不存在字典中的key和key對應的值新增到字典中去
print(d)
輸出結果:
python資料型別之字典型別
字典常用方法 clear get pop update copy items popitem values fromkeys keys setdefault 字典的表示方法 info dic 常用操作 1.存 取 info dic print info dic name11111111 找不到則報錯...
Python資料型別之字典
字典 dictionary 是除列表之外python中最靈活的內建資料結構型別。列表是有序物件的集合,字典是無序物件的集合。兩者區別在於 字典當中的元素是通過鍵來訪問的 鍵值對 而不是通過偏移訪問。字典用花括號 標識。字典就是c 標準庫的map,每乙個元素都是成對的,包含key value兩部分。關...
python資料型別之字典
字典 dictionary 字典是 python 資料型別中唯一類似 key value 雜湊表的對映型別,字典物件是可變的,但 key值是不可變的 1.字典的定義 1 空字典的定義 d 2 一般字典的定義 d 3 通過內建方法 fromkeys 定義 字典中有相同的 value 值,預設為 non...