python基礎語法 字典

2021-10-19 17:58:51 字數 4389 閱讀 7079

— 字典屬於一種新的資料結構,稱為對映

— 字典的作用共和列表類似,都是用來儲存物件的容器。列表是有序的物件集合,字典是無序的物件結合。

— 字典中的元素通過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字典應用舉...