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í)行這一步操作時new_dict["ilpy1"]["company"] = "wtf",對a也執(zhí)行了修改,比較id可知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轉(zhuǎn)換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() 函數(shù)和 get()方法 類似, 如果鍵不存在于字典中,將會添加鍵并將值設(shè)為默認值。所以當(dāng)我們需要快速判斷鍵值對是否存在并且加上去的時候就可以使用此方法
ps:下面看下python-dict和list常用方法
# *********-list-*********
# 創(chuàng)建一個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)
# 創(chuàng)建一個list1中的數(shù)據(jù)重復(fù)2次的list3
list3 = list1*2
print(list3)
# 排序
list4 = [1, 2, 8, 3, 12, 3]
# 升序
list4.sort()
print(list4)
# 降序
list4.reverse()
print(list4)
# 創(chuàng)建一個二維數(shù)組
list_muti = [[0, 0, 1]]*2
print(list_muti)
print(list_muti[0][1])
# *********-dict-*********
# 創(chuàng)建一個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之后轉(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對應(yīng)的value
value = dict1['a']
print(value)
value2 = dict1.get('ccc', '木有找到')
# 與dict.get()方法一致,但是如果沒有對應(yīng)的key會自動創(chuàng)建一個key,value為none
dict1.setdefault('m')
print(dict1)
# 更新字典,如果沒有對應(yīng)的key會自動添加key-dict
dict1.update({'ccc': 'fff2'})
print(dict1)
value2 = dict1.get('ccc1', '木有找到')
print(value2)
總結(jié)
到此這篇關(guān)于Python dict的常用方法的文章就介紹到這了,更多相關(guān)Python dict的常用方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)Windows上氣泡提醒效果的方法
這篇文章主要介紹了Python實現(xiàn)Windows上氣泡提醒效果的方法,涉及Python針對windows窗口操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06
Python中xml和dict格式轉(zhuǎn)換的示例代碼
最近在做APP的接口,遇到XML格式的請求數(shù)據(jù),費了很大勁來解決,下面小編給大家分享下Python中xml和dict格式轉(zhuǎn)換問題,感興趣的朋友跟隨小編一起看看吧2019-11-11
PyQt6/PySide6 的 QPropertyAnimation 類適用場景分析
QGraphicsView和QGraphicsScene是Qt圖形視圖框架的核心類,用于構(gòu)建高性能、可交互的2D圖形界面,QGraphicsView 和 QGraphicsScene 為復(fù)雜圖形應(yīng)用提供了強大支持,本文給大家介紹PyQt6/PySide6 的 QPropertyAnimation 類,感興趣的朋友一起看看吧2025-03-03

