溫馨提示×

溫馨提示×

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

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

python中dict類型有什么用

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

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

dict底層使用哈希存儲的,通過偏移量進行查找,時間復雜度為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}

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女