温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中dict类型有什么用

发布时间:2021-06-22 16:36:54 来源:亿速云 阅读:321 作者: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