溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python中dict類型有什么用

發(fā)布時間:2021-06-22 16:36:54 來源:億速云 閱讀:318 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關(guān)python中dict類型有什么用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

dict底層使用哈希存儲的,通過偏移量進(jìn)行查找,時間復(fù)雜度為1

1、dict在python為Mapping類型

from collections.abc import  MutableMapping

var_a = {}#Trueprint(isinstance(var_a, MutableMapping))

2、字典常用方法

var_a = dict(a=[1,2,3])print(var_a) #{'a': [1, 2, 3]}#D.clear() -> None.  Remove all items from Dvar_a.clear()print(var_a) #{}#copy D.copy() -> a shallow copy of D 淺拷貝var_a = dict(a={'a':1})
var_b = var_a.copy()print(var_b) #{'a': {'a': 1}}var_a['a']['a'] = 2print(var_b) #{'a': {'a': 2}}#深拷貝import copy
var_a = dict(a={'a':1})
var_b = copy.deepcopy(var_a)print(var_b) #{'a': {'a': 1}}var_a['a']['a'] = 2print(var_b) #{'a': {'a': 1}}#fromkeys Returns a new dict with keys from iterable and values equal to valueprint(dict.fromkeys(['a', 'b'], 1))#{'a': 1, 'b': 1}#get D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to Noneprint(var_a.get('b',None)) #None#items D.items() -> a set-like object providing a view on D's itemsfor var_key, var_value in var_a.items():print(var_key, var_value)#setdefault D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in Dprint(var_a.setdefault('b',2)) # 2print(var_a) #{'a': {'a': 2}, 'b': 2}#update 字典合并var_a.update({'c':3})print(var_a) #{'a': {'a': 2}, 'b': 2, 'c': 3}var_a.update({'c':10})print(var_a) # {'a': {'a': 2}, 'b': 2, 'c': 10}var_a.update([('d',2)])print(var_a) #{'a': {'a': 2}, 'b': 2, 'c': 10, 'd': 2}

3、dict的子類

#在繼承dict時使用UserDict,UserDict使用python語言重新編寫過from collections import UserDictclass MyDict(dict):def __setitem__(self, key, value):super().__setitem__(key, value*2)

var_my_dict = MyDict(a = 1)print(var_my_dict) #{'a': 1}var_my_dict['a'] = 1print(var_my_dict) #{'a': 2}class MyNewDict(UserDict):def __setitem__(self, key, value):super().__setitem__(key, value*2)

var_my_new_dict = MyNewDict(a = 1)print(var_my_new_dict) #{'a': 2}

看完上述內(nèi)容,你們對python中dict類型有什么用有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI