字典

来源:互联网 发布:字体管家软件下载 编辑:程序博客网 时间:2024/05/16 16:00

字典:

概念: 是以 key-value 来存储多个值,查找速度快
注意:1.字典是可变数据类型
注意:2.字典是是无序

key的特点;
1,key是唯一的
2.key需要不可变类型的数据
3.数字,字符串等不可变的类型可以作为key
4.列表,字典是可变数据类型,不能作为key

list与dict的比较
字典:
插入与查找速度快,随着字典存储的数量增大而不会产生过大的影响
需要占用大量的内存,内存浪费多
列表:
插入与查找速度慢,随着列表储的数量增大而会产生过大的影响
需要占用少量的内存,内存浪费少

字典的定义
格式: {key0:value0,key1:value1,key2:value2}
描述: 字典的格式 是以 {} 来包裹字典元素, 元素是以
key:value的形式来存储(以冒号连接), 元素与元素之间是以逗号连接
dict2 = {“tom”:20,”李磊”:”30”,”lilei”:40,”wen”:100}

通过key来获取数据, 格式 : dict[key]
age1 = dict2[“lilei”]
通过get方法来访问 格式: dict.get(key)
age2 = dict2.get(“李磊2”)
设置默认值 当key没有对应的值时,设置默认值
age3 = dict2.get(“wen2”,99)

增删改查

增加

dict2[“hanmeimei”] = 80

删除

根据key删除 dict.pop(key) ,并且返回删除的值
name = dict2.pop(“李磊”)
name = dict2.pop(“李磊2”) 如果删除的值不存在,则报错

dict2[“tom”] = 80
可以直接以 dict[key] = value的形式就行增加和修改,
如果key已经存在这是修改操作
如果key不存在则是增加操作

dict.keys() 获取字典中的所有key
for key in dict2.keys():
获取字典中的所有key
print(key)
获取字典中的所有key和key对应的值
print(key,dict2[key])

dict.values() 获取字典的所有的value
for value in dict2.values():
print(value)

将key - value 一个整体看成一个item
dict.items() 获取字典的一个item
for key,value in dict2.items():
print(key,value)

将字典分解成 index - key的形式
for index,key in enumerate(dict2):
# 获取索引和key,索引从0开始
print(index, key)

copy

copy重新开辟了一个地址,来把这个字典放进去

dict2 = {"tom":20,"李磊":"30","lilei":40,"wen":100}dict3 = dict2dict3["tom"] = 10print(dict3)print(dict2)print(id(dict3))print(id(dict2))dict4 = dict2.copy()print(dict4)print(dict2)print(id(dict4))print(id(dict2))
{'tom': 10, '李磊': '30', 'lilei': 40, 'wen': 100}{'tom': 10, '李磊': '30', 'lilei': 40, 'wen': 100}25839765773522583976577352{'tom': 10, '李磊': '30', 'lilei': 40, 'wen': 100}{'tom': 10, '李磊': '30', 'lilei': 40, 'wen': 100}25839765777842583976577352