字典
是另一种可变容器模型,且可存储任意类型对象。
- 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中;
- 键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一;
- 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组;
增
字典的增加,是按照:字典名[key] = value
删
字典的删除,可以使用 del
:
del 字典[key]
: 删除指定键的数据;
del 字典名
:删除整个字典;所以再次打印这个字典,就会报错说不存在;
改
改的方法和增是一样的:字典名[key] = value
键存在的话,就是修改值的数据
键不存在,就是新增
查
查询的方法:字典名[key], key不存在会报出KeyError
内置方法:
定义一个字典: dict = {‘Name’: ‘Zara’, ‘Age’: 7, ‘Class’: ‘First’}
- clear():
dict.clear()
删除字典中的所有数据
- pop():
pop(key[,default])
删除指定的键(键值都会被删除,键不存在会报错)
3.copy():dict.copy()
返回一个字典的浅复制
这里说一下,copy()和直接赋值的区别:
-
赋值:只是针对一个引用,让多个变量名进行指向,所以在改变dict的时候,也会改变dict1;
-
copy():copy就是一种浅拷贝,也就是外部的引用进行变化了,但是内部的引用dict和dict3都还是指向一个的;
知识拓展:深拷贝和浅拷贝详解
-
get():
dict.get(key, default=None)
返回指定键的值,如果值不在字典中返回default值
-
items():
dict.items()
以列表返回可遍历的(键, 值) 元组数组
-
keys():
dict.keys()
以列表返回一个字典所有的键
-
values():
dict.values()
以列表返回字典中的所有值
-
update(dict2):
dict.update(dict2)
把字典dict2的键/值对更新到dict里
-
popitem():
popitem()
随机返回并删除字典中的一对键和值。
-
setdefault():
dict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
-
fromkerys():
dict.fromkeys(seq[, val])
创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值