Python中的字典(dict)及其基本操作

2021-09-26 20:52:13 字數 3085 閱讀 5669

#字典的基本操作    1、(字典 '鍵' 和 '值' 對稱為 '項')  2、空字典:{}    3、字典中鍵必須是獨一無二的  字典中的值無須如此

#建立字典的三種方法:

#1、dict((元組對))

term = [('name',['hexianmin']),('age',21)] #乙個元組對為一項 這樣也可以:term = (('name','hexianmin'),('age',21))

print(dict(term))

#2、dict(等號賦值)

d = dict(name=('hexianmin','dsd'),age=22) #這樣建立 '鍵' 可以不用加 ''

print(d['name'][0:2])

#3、直接建立法

d1 =

print(d1['my','name'][0:])

print(d1[1])

#字典總結:1、鍵(key)是不可以變的,如:字串、數字、元組

# 2、值(value)是可以改變的, 可以為:字串、數字、元組、列表 都可以 但是注意單個字串和列表的切片訪問的區別

# 3、list、str、tuple、dict 其實根本不是乙個函式,而是乙個類

#字典的簡單操作

d1[1] = 25 #這樣直接賦值會將已經對應key存在的值覆蓋(已存在賦值覆蓋)

d1[2] = 26 #這樣原本沒有的賦值 會自動新增乙個新的項(未存在賦值新增)

print(d1)

print(len(d1)) #返回d1字典中項的長度(就是有多少'項')

# del d1[1] #刪除key=1的項

print(('my','name') in d1) #檢查鍵key是否在字典中(成員方法依然適用)

#除了直接建立巢狀字典的第二種方法

dic = dict()

dic_temp = dict()

dic_temp =

dic["demo"] = dic_temp #直接將建立好的字典插入到 就可以生成巢狀字典

#在字典中使用format_map(格式控制輸出,但是還會 指出通過乙個對映來提供所需的資訊 如下)

phonebook =

print("zy's phone number is ".format_map(phonebook))

#字典的幾種方法

# 1、clear() 原件 副本都不存在了

x = [1,2,3,4]

y = x

x.clear()

print(x,y)

# 2、copy() copy中的deepcopy()

# 3、fromkeys 建立乙個新的字典 不指定時 每個鍵對應的值都是none

{}.fromkeys(('name','age')) # () 內指定的都是鍵key 所以可以用列表或者元組指定多個key

dict.fromkeys(('name','age'),'unkown') #第二種方法 還可以 指定字串初始化

# 4、get 獲取指定鍵的值 當字典中沒有鍵key時 使用get去訪問不會引發異常 沒找到時會返回none

print(phonebook.get("j"))

# 5、items() 返回乙個包含所有字典項的列表 每個元素為(key,value)的形式 字典項在列表中的順序不確定

t = phonebook.items() #輸出 : dict_items([('hexianmin', '15079472536'), ('zhanying', '18870983997')]) 為乙個字典檢視的特殊型別

len(t) #可以獲取其長度(長度為項的長度)

phonebook['hexianmin'] = 15

('hexianmin',15) in t #true

#可以看出 items() 後 不是複製乙份 只是底層字典的反應 phonebook修改了 t 也會跟著變化 如果要複製乙份形成新的列表 需要自己動手做 如下

t1 = list(phonebook.items()) #這樣t1就是乙個列表了 再修改原字典 對t1也沒有影響

# 6、keys 返回乙個字典檢視 其中只包含鍵 不包含重複的鍵(因為鍵是唯一的)

phonebook.keys() # output: dict_keys(['hexianmin', 'zhanying'])

# 7、dict.pop('x') 返回乙個指定鍵的值 並將這一項刪除

tt1 =

# 8、tt1.pop('a') #只返回值 沒有鍵 並將這一項從字典中刪除

# 9、popitem() 隨機返回乙個項(因為字典本身沒有順序,所以有序刪除是無意義的) 並在字典中刪除這個項

tt1.popitem()

# 10、setdefault 類似於get方法 除了獲取指定鍵的值 如果字典中不存在要獲取的鍵-值 就會在字典中建立乙個項 包含這個鍵-值 然後返回none(預設)

tt1.setdefault('key_name')

tt1 # output:

# 11、update 使用乙個字典中的項來更新另乙個字典

tt2 =

tt2.update(tt1) #用tt1中有的項 去替換原來已經存在的項 如果tt2中沒有tt1中的項 就會新增進去

tt2 # output : 除了替換掉 key_name 外 還新增了項 a

# 12、values 返回乙個由 值 組成的字典檢視 不同於 keys values 返回值可能有重複的值 因為值是可以重複的 但是鍵是唯一的

tt2.values() #和keys一樣返回的是乙個迭代字典檢視 可以轉化為list 需要手動轉化

list(tt2.values()) #轉化為乙個列表

# keys items values 都可以轉化為乙個 list

Python中的字典dict

目錄字典 字典中常見的函式 字典的訪問 字典中 鍵值key 的遍歷 字典中 值value 的遍歷 字典中鍵值和資料的遍歷 字典的操作 增刪改查 字典的排序 a 字典是 python 重要的資料型別,字典是由 鍵 值 對組成的集合,字典中的 值 通過 鍵 來引用。字典也稱為關聯陣列 對映或雜湊表。py...

python中的字典(dict)

首先說一下字典是什麼 字典是一種容器模型,可以通過搜尋key鍵獲得其對應值得資料結構,字典可以儲存任何型別的物件。字典裡面的每個key和value之間用冒號隔開。其鍵可以是字串 數字 元組,字典是python中唯一內建的對映型別。注 鍵最好不要用浮點 字典所包含的方法如下表 序號方法描述1 clea...

python中dict 字典的方法

1.adict.clear 刪除adict的所有項 2.adict.copy 返回adict的副本 3.adict.fromkeys seq val 返回乙個字典,其中的鍵值來自seq,而值都被設定為了val。該方法是類方法,可以用類名直接呼叫alist 1 2,3 4 adict dict fro...