python 字典相關函數和操作方法


字典相關函數 字典.方法()

dic = {"盧俊義":"玉麒麟"}
dic["小李廣"] = "花榮"
dic["智多星"] = "吳用"
dic["入雲龍"] = "公孫勝"
dic["霹靂火"] = "秦明"
print(dic)

fromkeys() 使用一組鍵和默認值創建字典

list_var = ["a","b","c"]
dict_var = {}.fromkeys(list_var,None)
print(dict_var)

注意點:abc三個鍵指向的列表是同一個

list_var = ["a","b","c"]
dict_var = {}.fromkeys(list_var,[1,2,3])
print(dict_var)
dict_var["a"].append(4)
print(dict_var)
#運行結果
{'a': [1, 2, 3], 'b': [1, 2, 3], 'c': [1, 2, 3]}
{'a': [1, 2, 3, 4], 'b': [1, 2, 3, 4], 'c': [1, 2, 3, 4]}
#如果是可變數據類型三個字典對應的列表的數值的會改變
dic ={'盧俊義': '玉麒麟', '小李廣': '花榮', '智多星': '吳用', '入雲龍': '公孫勝', '霹靂火': '秦明'}
# pop()       通過鍵去刪除鍵值對 (若沒有該鍵可設置默認值,預防報錯)
res =dic.pop("霹靂火")
print(res)# 把刪除的值作為返回
print(dic)

運行結果:
#秦明
#{'盧俊義': '玉麒麟', '小李廣': '花榮', '智多星': '吳用', '入雲龍': '公孫勝'}

設置默認值
dic ={'盧俊義': '玉麒麟', '小李廣': '花榮', '智多星': '吳用', '入雲龍': '公孫勝', '霹靂火': '秦明'}
res =dic.pop("asdasd","沒有這個鍵")
print(res)

popitem() 刪除最后一個鍵值對

dic ={'盧俊義': '玉麒麟', '小李廣': '花榮', '智多星': '吳用', '入雲龍': '公孫勝', '霹靂火': '秦明'}
res = dic.popitem()
print(res)
#運行結果:
('霹靂火', '秦明')

clear() 清空字典

dic ={'盧俊義': '玉麒麟', '小李廣': '花榮', '智多星': '吳用', '入雲龍': '公孫勝', '霹靂火': '秦明'}
res = dic.clear()
print(dic)
#刪除后返回空字典

update() 批量更新(有該鍵就更新,沒該鍵就添加)

#寫法一:基於原有字典進行更新  (推薦)
dic_var = {"a":1,"b":2,"c":3}
dic_val = {"d":4,"e":5,"f":6}
dic_var.update(dic_val)
print(dic_var)

運行結果:
	{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}
    
#寫法二
dic_var.update(wb = "好人",zyh = "司機")
print(dictvar)
# get()    通過鍵獲取值(若沒有該鍵可設置默認值,預防報錯)
dic_var = {"a":1,"b":2,"c":3}
res = dic_var.get("b")
print(res)

# 設置默認值 為了防止報錯,程序異常終止;
dic_var = {"a":1,"b":2,"c":3}
res = dic_var.get("d","鍵不存在")
print(res)#鍵不存在

其他操作函數

1.keys()   將字典的鍵組成新的可迭代對象
dic ={'盧俊義': '玉麒麟', '小李廣': '花榮', '智多星': '吳用', '入雲龍': '公孫勝', '霹靂火': '秦明'}
res = dic.keys()
print(res) #dict_keys(['盧俊義', '小李廣', '智多星', '入雲龍', '霹靂火'])

#默認直接遍歷字典,拿的是鍵
for i in dic:
  	print(i)
    
2.values() 將字典中的值組成新的可迭代對象
res = dic.values()
print(res,type(res))
for i in res:
	print(i)
    
    
3.items()  將字典的鍵值對湊成一個個元組,組成新的可迭代對象 
res = dic.items()
print(res,type(res))

for i in res:
	print(i)

# 變量的解包
for k,v in res:
	print(k,v)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM