— 字典屬於一種新的資料結構,稱為對映
— 字典的作用共和列表類似,都是用來儲存物件的容器。列表是有序的物件集合,字典是無序的物件結合。
— 字典中的元素通過key來獲取,而列表中的元素通過位移來獲取
— 列表儲存的效能很好,但是查詢資料的效能很差
— 在字典中每乙個元素都有乙個唯一的名字,通過這個唯一的名字可以快速的查詢到指定的元素
— 在查詢時,字典的效率是非常快的
— 在字典中可以儲存多個物件,每個物件都會有乙個唯一的名字
這個唯一的名字我們稱其為鍵(key)
這個給物件我們稱其為值(value)
所以,字典我們又稱為鍵值對(key-value)結構
每個字典中都可以有多個鍵值對,而每乙個鍵值對我們稱其為一項(item)
— 用{}表示
語法:— 字典的值vlaue可以是任意物件
— 字典的key可以是任意的不可變的物件(int,str,bool,tuple……) 一般我們都會使用str
— 字典的鍵是不能重複的,如果重複後邊的會替換到前邊的
#d =
d =
print(d,type(d)) #輸出:
#需要根據鍵來獲取值
print(d[『name』],d[『gender』],d[『age』]) #輸出:孫悟空 man 3000
#7.2.1 使用{}
#語法:
#7.2.2 使用dict()函式來建立字典
d = dict(name=「孫悟空」,age=18,gender=「男」)
print(d,type(d)) #輸出:
#7.2.3 也可以將乙個包含雙值子串行的序列轉換為字典,
— 雙值序列,序列中的元素也是序列,[1,2] (『a』,3) 『ab』
— 子串行,如果序列中的元素也是序列,那麼我們就稱這個元素為子串行
#[(1,2),(3,5)]
di = dict([(『name』,『孫悟空』),(『age』,19)])
print(di,type(di)) #輸出:
#7.3 字典的使用
d=#7.3.1 len() 獲取字典中鍵值對的個數
print(len(d)) # 輸出:3
#7.3.2
#in 檢查字典中是否包含指定的鍵
#not in 檢查字典中是否不包含指定的鍵
d=print(『name』 in d) # 輸出:true
print(『work』 not in d) # 輸出:true
#7.3.4 根據鍵來獲取值
#語法:d[key]
d=print(d[『gender』]) #輸出:男
n=「name」 #該種情況不需要加引號
print(d[n]) #輸出:豬八戒
#7.3.5 通過來獲取值,如果鍵不存在會丟擲異常keyerror
print(d[『hello』]) #輸出:keyerror: 『hello』
— 如果獲取的鍵在字典中不存在,會返回 none
print(d.get(『name』)) #輸出:豬八戒
print(d.get(『hello』)) #輸出:none
#也可以指定乙個預設值,來作為第二個引數,這樣獲取不到值時會返回預設值
print(d.get(『hello』,『預設值』)) #輸出:預設值
d=d[『name』]=『天蓬元帥』
print(d) #輸出:
d[『address』]=『高老莊』
print(d) #輸出:
#如果key已經存在與字典中,則返回key的值,不會對字典有任何操作
result = d.setdefault(『name』,『孫悟空』)
print(result) # 輸出:豬八戒
print(d) # 輸出:
#如果key不存在,則向字典中新增這個key,並設定value
result = d.setdefault(『hello』,『孫悟空』)
print(result) # 輸出:孫悟空
print(d) # 輸出:
#將其他的字典中的key-value新增到當前的字典中
#如果投重複的key,則後邊的會替換到當前的
d1 =
d2 = dict(d=4,e=5,f=6,a=7)
d1.update(d2)
print(d1) #輸出:
#刪除#.1 可以使用del 來刪除字典中的 key-value
del d1[『a』]
del d2[『d』]
#.2 方法4 popitem() 隨機刪除字典中的乙個鍵值對,一般都會刪除最後乙個
#刪除之後,它會將刪除的key-value作為返回值返回
#返回的是乙個元組,元組中有兩個元素,第乙個元素時刪除的key,第二個刪除的是value
result = d1.popitem()
print(『result=』,result) #輸出:result= (『c』, 3)
print(d1) #輸出:
#.3 方法5 pop(key[,sefault])
#根據key刪除字典中的key-value
#刪除之後,會將被刪除的value返回
result=d1.pop(『c』) #輸出:result= 3
print(d1) #輸出:
#刪除不存在的key會丟擲異常
d1.pop(『q』) #輸出:keyerror: 『q』
#如果指定了預設值,再刪除不存在的key時,不會報錯,而是直接返回預設值
result = d1.pop(『q』,「出錯沒有q」)
print(『result=』,result) #輸出:result= 出錯沒有q
print(d1) #輸出:
#.4方法6 clear() 用來清空字典
d1.clear()
#7.3.8 方法7 copy() 該方法用於對字典進行淺賦值
d3 =
d4=d3.copy()
print(d3,id(d3)) #輸出: 2325996251072
print(d4,id(d4)) #輸出: 2325996251264
d3[『a』]=44
print(d3,id(d3)) #輸出: 2312096524224
print(d4,id(d4)) #輸出: 2312096524416
d4 = ,『b』:22,『c』:33}
d5=d4.copy()
d4[『a』][『name』]=「我是」
d4[『b』]=66
print(d4) #輸出:, 『b』: 66, 『c』: 33}
print(d5) #輸出:, 『b』: 22, 『c』: 33}
#深拷貝deepcopy()
#7.4 遍歷字典
#.1 keys()
#該方法會返回乙個序列,序列中儲存有字典的所有鍵
d = dict(name=「孫悟空」,age=18,gender=「男」)
print(d.keys()) #輸出:dict_keys([『name』, 『age』, 『gender』])
#通過遍歷keys()來獲取所有的鍵
for i in d.keys():
print(i)
『』』 輸出:name
agegender
『』』#.2 values()
#該方法會返回字典的所有value
#該方法會返回乙個序列,序列中儲存有字典的所有值
d = dict(name=「孫悟空」,age=18,gender=「男」)
print(d.values()) #輸出: dict_values([『孫悟空』, 18, 『男』])
#通過遍歷values()來獲取所有的鍵
for i in d.values():
print(i)
『』』 輸出:孫悟空18男
『』』#.3 items()
#該方法會返回字典的所有項,即字典中的全部鍵值對
print(d.items()) #輸出:dict_items([(『name』, 『孫悟空』), (『age』, 18), (『gender』, 『男』)])
#通過遍歷items()來獲取所有鍵值對
for k.v in d.items():
print(k,』=』,v)
『』』 輸出: name = 孫悟空
age = 18
gender = 男
『』』
python 基礎語法 字典
0.摘要 本文主要介紹python3中字典的用法,包括建立 訪問 新增 修改 刪除 遍歷。1.建立字典 my dict 建立乙個空字典 python 建立乙個非空字典 coordinate 或者借助dict函式建立建立 my dict dict 建立乙個空字典 coordinate dict x 1...
python基礎語法 字典魔法
字典魔法 staticmethod 靜態方法 1 字典格式 dic 2 fromkeys 根據序列 鍵值 建立字典,指定統一的值 v dict.fromkeys asdsad 1321,jkllj 我是好人 print v 輸出結果 v dict.fromkeys asdsad 1321,jkllj...
python基礎語法 4 字典
例如 phonebook 字典和列表的不同 x x 42 footbar traceback most recent call last file line 1 in?indexerror list assigment index out of range x x 42 footbar x字典應用舉...