目錄
概念:
dict的定義格式:
dict的使用方法:
定義空字典的兩種方法:
dict.clear:
?copy:
copy:淺拷貝
deepcopy:深拷貝
get:
?items:
?keys:
?popitem:
?setdefault:
?update:
?values:
概念:
dict----dictionary ?字典:
根據(jù)關(guān)鍵字去獲取內(nèi)容
關(guān)鍵字不能重復(fù)
關(guān)鍵字必須是不可變的數(shù)據(jù)類(lèi)型
dict的定義格式:
定義字典:根據(jù)key去取value
字典中的元素必須具備兩個(gè)部分:key和value
{元素1, 元素2, 元素3., .......}:可以有多個(gè)元素,元素之間也是用逗號(hào)來(lái)分隔
元素分解:key 和 value
??寫(xiě)法:key: value
dict的使用方法:
定義空字典的兩種方法:
dict_data = {}
dict_data1 = dict()
print(dict_data, dict_data1)
dict.clear:
clear(...)
? ? ?D.clear() -> None. ?Remove all items from D.
清空操作:移除原列表中的所有元素;
案例:定義一個(gè)字典,并且移除他其中的所有元素
dict_data = {1: 1, 1.1: 1.1, 1 + 2j: 1 + 2j}
dict_data.clear()
print(dict_data)
實(shí)驗(yàn)結(jié)果為:
?copy:
copy:淺拷貝
?copy(...)
? ? ?D.copy() -> a shallow copy of D
deepcopy:深拷貝
使用它前需要先導(dǎo)入深拷貝庫(kù):from copy import deepcopy
兩者區(qū)別:
?總結(jié):淺拷貝只復(fù)制某個(gè)對(duì)象的引用,而不復(fù)制對(duì)象本身,新舊對(duì)象還是共享同一塊內(nèi)存。
? ? ? ? ? ? 深拷貝會(huì)創(chuàng)造一個(gè)一模一樣的對(duì)象,新對(duì)象和原對(duì)象不共享內(nèi)存,修改新對(duì)象不會(huì)改變?cè)瓕?duì)對(duì)象。
案例:
# 導(dǎo)入深拷貝庫(kù)
from copy import deepcopy
dict_data = {1: [1, 2]}
data1 = dict_data.copy()
print(id(dict_data))
print(id(dict_data[1]))
print(id(dict_data[1][0]))
print(id(dict_data[1][1]))
print(id(data1))
print(id(data1[1]))
print(id(data1[1][0]))
print(id(data1[1][1]))
data2 = deepcopy(dict_data)
print(id(data2))
print(id(data2[1]))
print(id(data2[1][0]))
print(id(data2[1][1]))
運(yùn)行結(jié)果:
get:
?get(self, key, default=None, /)
? ? ? Return the value for key if key is in the dictionary, else default.
取值:取key為多少的vlue值
例如:定義一個(gè)字典,取出他key值為1的vlue值,返回字典中key的vlue值
dict_data = {1: 2, 1.1: 1.1, 1 + 2j: 1 + 2j}
print(dict_data.get(1))
輸出結(jié)果:
?items:
items(...)
? ? ? D.items() -> a set-like object providing a view on D's items
取元素:取列表中的元素
案例:定義一個(gè)字典,取出他列表中的所有元素
dict_data = {1: 2, 2: 3, 3: 4, 4: 5, 5: 6}
print(dict_data.items())
輸出結(jié)果:
?keys:
?keys(...)
?| ? ? ?D.keys() -> a set-like object providing a view on D's keys
取列表中的key值
案例:定義一個(gè)字典,取出他列表中所有的key值
dict_data = {1: 2, 2: 3, 3: 4, 4: 5, 5: 6}
print(dict_data.keys())
輸出結(jié)果:
?popitem:
popitem(self, /)
?| ? ? ?Remove and return a (key, value) pair as a 2-tuple.
?| ? ? ?
?| ? ? ?Pairs are returned in LIFO (last-in, first-out) order.
?| ? ? ?Raises KeyError if the dict is empty.
隨機(jī)返回并刪除字典中的一對(duì)鍵和值,若字典為空字典,則返回keyerror
案例:定義一個(gè)字典,并隨機(jī)刪除其中一對(duì)鍵和值
dict_data = {1: 2, 2: 3, 3: 4, 4: 5, 5: 6}
print(dict_data.popitem())
print(dict_data)
輸出結(jié)果:
?setdefault:
setdefault(self, key, default=None, /)
?| ? ? ?Insert key with a value of default if key is not in the dictionary.
?| ? ? ?
?| ? ? ?Return the value for key if key is in the dictionary, else default.
設(shè)置默認(rèn)值:若字典中沒(méi)有該key值,在原字典中則插入key,默認(rèn)value值為None。
? ? ? ? ? ? ? ? ? ? ? 若字典中存在key值,則返回它的value值
案例:定義一個(gè)字典,并插入一個(gè)key為9的元素,且輸出key為1的value值
dict_data = {1: 2, 2: 3, 3: 4, 4: 5, 5: 6}
dict_data.setdefault(9)
print(dict_data)
print(dict_data.setdefault(1))
輸出結(jié)果:
?update:
?update(...)
?| ? ? ?D.update([E, ]**F) -> None. ?Update D from dict/iterable E and F.
?| ? ? ?If E is present and has a .keys() method, then does: ?for k in E: D[k] = E[k]
?| ? ? ?If E is present and lacks a .keys() method, then does: ?for k, v in E: D[k] = v
?| ? ? ?In either case, this is followed by: for k in F: ?D[k] = F[k]
更新:在執(zhí)行 update() 方法時(shí),如果被更新的字典中己包含對(duì)應(yīng)的鍵值對(duì),那么原 value 會(huì)被覆蓋;如果被更新的字典中不包含對(duì)應(yīng)的鍵值對(duì),則該鍵值對(duì)被添加進(jìn)去。
案例:定義一個(gè)字典,并更新key為1的值,且增加一個(gè)新的鍵值對(duì)
dict_data = {1: 2, 2: 3, 3: 4, 4: 5, 5: 6}
dict_data.update({1: 4, 9: 10})
print(dict_data)
輸出結(jié)果:
?values:
values(...)
?| ? ? ?D.values() -> an object providing a view on D's values
取該字典中的值
案例:定義一個(gè)字典,取出他中所有的value值
dict_data = {1: 2, 2: 3, 3: 4, 4: 5, 5: 6}
print(dict_data.values())
輸出結(jié)果:
擴(kuò)展內(nèi)容:
1.用for循環(huán)去獲取dict的key,value,(key,value)以及key和value
dict_data = {1: 2, 2: 3, 3: 4, 4: 5, 5: 6}
for key, value in dict_data.items():
print(key, value, (key, value))
for i in dict_data.keys():
print(i)
for j in dict_data.values():
print(j)
輸出結(jié)果:
?2.使用for循環(huán)去獲取列表的下標(biāo)及下標(biāo)的對(duì)應(yīng)的值
list_data = [1, 'HELLO', 2.2]
for index, value in enumerate(list_data):
print(index, value)
輸出結(jié)果:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-517673.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-517673.html
到了這里,關(guān)于五分鐘快速掌握Python中dict(字典)的詳細(xì)使用方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!