Python dict的常用方法示例代碼
常用方法
淺拷貝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']))
然后我們發(fā)現(xiàn),執(zhí)行這一步操作時(shí)new_dict['ilpy1']['company'] = 'wtf',對(duì)a也執(zhí)行了修改,比較id可知new_dict['ilpy1']['company']))和a['ilpy1']['company']指向了同一位置,而a與new_dict指向不同位置,這就是淺拷貝的副作用
深拷貝
這并不是dict自帶的方法而是來自python的一個(gè)包c(diǎn)opy
import copya = {'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轉(zhuǎn)換dict
import copya = {'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)
傳入可迭代對(duì)象也可
a = {'ilpy1': {'company': 'aaa'}, 'ilpy2': {'company': 'bbb'} }a.update([(’1’,’2’)])print(a)a.update(((’1’,’2’),))print(a)
setdefault
Python 字典 setdefault() 函數(shù)和 get()方法 類似, 如果鍵不存在于字典中,將會(huì)添加鍵并將值設(shè)為默認(rèn)值。所以當(dāng)我們需要快速判斷鍵值對(duì)是否存在并且加上去的時(shí)候就可以使用此方法
ps:下面看下python-dict和list常用方法
# *********-list-*********# 創(chuàng)建一個(gè)listlist1 = [1, 2, ’力氣,’, ’afd’]print(type(list1))print(list1)# 添加單個(gè)元素list1.append(’ffff’)print(list1)list2 = [’ff2’, 34]# 添加listlist2.extend(list1)print(list2)# 獲取指定index的元素print(list2[2])# 刪除指定values元素list2.remove(’value’)# 刪除index=2的元素del list2[2]print(list2)# 創(chuàng)建一個(gè)list1中的數(shù)據(jù)重復(fù)2次的list3list3 = list1*2print(list3)# 排序list4 = [1, 2, 8, 3, 12, 3]# 升序list4.sort()print(list4)# 降序list4.reverse()print(list4)# 創(chuàng)建一個(gè)二維數(shù)組list_muti = [[0, 0, 1]]*2print(list_muti)print(list_muti[0][1])
# *********-dict-*********# 創(chuàng)建一個(gè)dictdict1 = {}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 breakprint(dict1)# dict里的fromkeys方法dict1 = dict1.fromkeys((’a’, ’ccc’), ''' 'nn’n’' ''')print(dict1)# 獲取keys之后轉(zhuǎn)成list顯示keylist = list(dict1.keys())print(’%s’ % keylist[0])# 獲取values之后轉(zhuǎn)成list顯示valuelist = list(dict1.values())print(’%s’ % valuelist[0])print(dict1)# 獲取key對(duì)應(yīng)的valuevalue = dict1[’a’]print(value)value2 = dict1.get(’ccc’, ’木有找到’)# 與dict.get()方法一致,但是如果沒有對(duì)應(yīng)的key會(huì)自動(dòng)創(chuàng)建一個(gè)key,value為nonedict1.setdefault(’m’)print(dict1)# 更新字典,如果沒有對(duì)應(yīng)的key會(huì)自動(dòng)添加key-dictdict1.update({’ccc’: ’fff2’})print(dict1)value2 = dict1.get(’ccc1’, ’木有找到’)print(value2)
總結(jié)
到此這篇關(guān)于Python dict的常用方法的文章就介紹到這了,更多相關(guān)Python dict的常用方法內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Android table布局開發(fā)實(shí)現(xiàn)簡(jiǎn)單計(jì)算器2. IntelliJ IDEA安裝插件的方法步驟3. 理解PHP5中static和const關(guān)鍵字4. php模擬實(shí)現(xiàn)斗地主發(fā)牌5. spring acegi security 1.0.0 發(fā)布6. MyBatis中的JdbcType映射使用詳解7. vue 使用localstorage實(shí)現(xiàn)面包屑的操作8. Python random庫使用方法及異常處理方案9. .Net Core使用Coravel實(shí)現(xiàn)任務(wù)調(diào)度的完整步驟10. Vuex localStorage的具體使用

網(wǎng)公網(wǎng)安備