#字典的基本操作 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...