Python基础入门—字典dict,dict字典, 目录


目录

字典 字典的定义 字典对象增加元素 字典对象元素删除 字典对象的修改 字典对象元素的查找 字典的深浅拷贝

字典

字典是一种可变数据类型点典的元素存储方式是键值对的形式,键值对之间用逗号隔开键值对的形式形如:key:value最外层用{}括起来d = {key1 : value1, key2 : value2 }由于字典是键值对的形式,所以字典是无序的,自然不能切片和索引,而是通过键来取值

键:一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一
值:可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组

字典的定义

dict()来创建
a = dict([('a',1),('b',2),('c',3)])a type(a){'a':1,'b':2,'c':3}dict
直接赋值{}
b = {'a':1,'b':2,'c':3}btype(b){'a':1,'b':2,'c':3}dict

字典对象增加元素

dict[键名] = 值
c = {'a':1,'b':2,'c':3}c['e'] = 4e{'a':1,'b':2,'c':3,'e':4}
dict.setdefault(’新键名‘,值)
d = {'a':1,'b':2,'c':3}d.setdefault('e',4)d{'a':1,'b':2,'c':3,'e':4}
dict1.update(dict2)
类似列表extend()

字典对象元素删除

常用的5种方法

del 字典名[‘键名‘]删除指定键值
字典名.pop(‘键名‘)删除键值+弹出值
字典名.popitem()随机删除一对(一般最后一对)+弹出
字典名.clear()删除词典内所有元素(和列表对应操作相同)
del 字典名删除整个词典(和列表对应操作相同)

Examples:

scores={"Mike":88,"Tom":89,"Mary":95,"Jack":95}scores.clear()scores {}
scores={"Mike":88,"Tom":89,"Mary":95,"Jack":95}del scores['Mike']scores{'Tom': 89, 'Mary': 95, 'Jack': 95}

字典对象的修改

字典名[键] = 新值

字典对象元素的查找

字典名[‘键名‘]返回改键所对应的值
字典名.get(‘键名‘)返回改键所对应的值
字典名.keys()返回包含所有键的列表
字典名.values()返回包含所有值的列表
字典名.items()返回所有包含键值对的列表

Examples:

scores={"Mike":88,"Tom":89,"Mary":95,"Jack":95}scores.get('Mary')95
scores={"Mike":88,"Tom":89,"Mary":95,"Jack":95}scores.items()dict_items([("Mike":88),("Tom":89),("Mary":95),("Jack":95)])

字典的深浅拷贝

浅拷贝
两个字典的内存地址不同,但内部元素指向同一内容空间

Examples:

a = {'a':1, 'b':(1, 2), 'c':[1, 2, 3], 'd':(1, 2, {1:1}), 'e':{1, 2, 3}}b = copy(a)id(a)id(b)8225480082254224 # 不同电脑运行结果不同,但a,b两个字典的id不同[id(x) for x in a][id(x) for x in b][30713928, 30712248, 30378392, 30622024, 30621968][30713928, 30712248, 30378392, 30622024, 30621968]  # 内部的item的id 是一样的  说明内部的元素指向同一个值

Python基础入门—字典dict

评论关闭