Python dict的常用方法示例程式碼
阿新 • • 發佈:2020-06-24
常用方法
淺拷貝copy
a = {"ilpy1": {"company": "aaa"},"ilpy2": {"company": "bbb"} } new_dict = a.copy() new_dict["ilpy1"]["company"] = "wtf" print(new_dict) print(a) print(id(a)) print(id(new_dict)) print(id(new_dict["ilpy1"]["company"])) print(id(a["ilpy1"]["company"]))
然後我們發現,執行這一步操作時new_dict["ilpy1"]["company"] = "wtf"
new_dict["ilpy1"]["company"]))
和a["ilpy1"]["company"]
指向了同一位置,而a
與new_dict
指向不同位置,這就是淺拷貝的副作用
深拷貝
這並不是dict
自帶的方法而是來自python的一個包copy
import copy a = {"ilpy1": {"company": "aaa"},"ilpy2": {"company": "bbb"} } new_dict = copy.deepcopy(a) print(id(a)) print(id(new_dict)) a['ilpy1']['company'] = "666" print(a) print(new_dict)
list轉換dict
import copy a = {"ilpy1": {"company": "aaa"},"ilpy2": {"company": "bbb"} } myList = ['aaa','bbb'] new_dict = dict.fromkeys(myList,"2") print(new_dict)
items
a = {"ilpy1": {"company": "aaa"},"ilpy2": {"company": "bbb"} } for key,value in a.items(): print(key,value)
clear
a = {"ilpy1": {"company": "aaa"},"ilpy2": {"company": "bbb"} } # clear 清楚dict元素 # a.clear() # print(a)
update
a = {"ilpy1": {"company": "aaa"},"ilpy2": {"company": "bbb"} } a.update(a=1,b=2) print(a)
傳入可迭代物件也可
a = {"ilpy1": {"company": "aaa"},"ilpy2": {"company": "bbb"} } a.update([('1','2')]) print(a) a.update((('1','2'),)) print(a)
setdefault
Python 字典 setdefault() 函式和 get()方法 類似,如果鍵不存在於字典中,將會新增鍵並將值設為預設值。所以當我們需要快速判斷鍵值對是否存在並且加上去的時候就可以使用此方法
ps:下面看下python-dict和list常用方法
# *********-list-********* # 建立一個list list1 = [1,2,'力氣,','afd'] print(type(list1)) print(list1) # 新增單個元素 list1.append('ffff') print(list1) list2 = ['ff2',34] # 新增list list2.extend(list1) print(list2) # 獲取指定index的元素 print(list2[2]) # 刪除指定values元素 list2.remove('value') # 刪除index=2的元素 del list2[2] print(list2) # 建立一個list1中的資料重複2次的list3 list3 = list1*2 print(list3) # 排序 list4 = [1,8,3,12,3] # 升序 list4.sort() print(list4) # 降序 list4.reverse() print(list4) # 建立一個二維陣列 list_muti = [[0,1]]*2 print(list_muti) print(list_muti[0][1])
# *********-dict-********* # 建立一個dict dict1 = {} print(type(dict1)) # 字典新增元素 dict1['a'] = 'value-a' print(dict1) # 批量新增元素 listx = [] for value in ('abced'): for key in (['abcde','re',1,'n你re1',3]): if key in listx: continue else: listx.append(key) # print(value) # print(key) dict1[key] = value break print(dict1) # dict裡的fromkeys方法 dict1 = dict1.fromkeys(('a','ccc'),""" "nn'n'" """) print(dict1) # 獲取keys之後轉成list顯示 keylist = list(dict1.keys()) print('%s' % keylist[0]) # 獲取values之後轉成list顯示 valuelist = list(dict1.values()) print('%s' % valuelist[0]) print(dict1) # 獲取key對應的value value = dict1['a'] print(value) value2 = dict1.get('ccc','木有找到') # 與dict.get()方法一致,但是如果沒有對應的key會自動建立一個key,value為none dict1.setdefault('m') print(dict1) # 更新字典,如果沒有對應的key會自動新增key-dict dict1.update({'ccc': 'fff2'}) print(dict1) value2 = dict1.get('ccc1','木有找到') print(value2)
總結
到此這篇關於Python dict的常用方法的文章就介紹到這了,更多相關Python dict的常用方法內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!