文章目录
字典
- 字典属于python中叫做映射的数据结构;
- 字典的作用与列表类似,都是用于存储数据;
- 列表的存储性能好,但查询性能差;如,查找列表中某个值时,在不知道其索引的情况下就只能遍历整个列表;
- 字典中每一个元素都有一个唯一的名字,通过这个唯一的名字可以快速的查找到指定的元素;
- 字典的存储性能差,查询性能好;
- 字典中可以保存多个对象,字典中对象称为值(value);每个对象都有唯一的名字,对象的名字称为键(key),通过键可以快速的查找对应的值(value);
- 字典也称做键值对(结构),每个字典都可以有多个键值对,每个 键值对称为一项(item)
字典的创建
{}
创建一个空字典
创建非空字典对象
- 语法:{key:value,key:value,key:value}
- 字典的值可以为任意对象(int、bool、str、字典、列表等均可);
- 字典的键可以为任意不可变对象(int、bool、str等 列表是可变对象不行);一般用str作为键;
- 字典的键不可重复,出现重复的后面的会替换前面的;
如,两个相同的键’B’,只会出现后面的一项;
dict()
- 直接传入键值对进行初始化;创建好的字典键均为str型;
- 将含有双值子序列的序列转化为字典;双值字序列,如[(1,2),‘ab’]
注: 双值序列:序列中只有两个值,[1,2],‘ab’;
子序列:序列中元素也是序列,则称该元素为子序列;
双值子序列:序列中元素是双值序列,则称该元素为双值子序列;
获取字典值
根据键获取值
字典中的键可以获取对应的值;
注意: 键不存在时会报错
get(key[, default])
根据键获取字典的值;与直接使用键获取对应的值基本一样,但获取字典中不存在的键时返回None,不会报错;
获取指定键的值时可以指定默认值,即找不到就返回默认值;
修改字典
dict[key]=value
- key存在时,用新value覆盖之前的value即,修改值;
- key不存在,则会自动新增一个键值对;
dict.setdefault(key[,default])
dict.setdefault(key[,default])可用来向字典中添加key-value;
- 如果键key存在,返回键对应的值;
- 如果键key不存在,则向字典中新增一个键值对,默认值为value
update(dict)
- 将另一个字典中的key-value对加到当前字典中;
- 如果两个字典中含有相同的键key,则当前字典的键值对会被另一个字典覆盖;
删除键值对
del
- 使用del直接删除键值对
- 删除不存在的key会报错;
- del dict 直接删除整个字典
dict.popitem()
- 随机删除字典中一个键值对,一般会删除最后一个;将被删除的key-value作为返回值以元组形式返回,前面为key,后面为value ;
dict.pop(key[,default])
- 根据key删除字典中key-value;并将被删除的value返回;
- 删除不存在的key时,不写默认值会报错,写默认值后会返回默认值;
dict.clear()
- cleat()会清空字典
字典的遍历
keys()
- 以序列的形式返回字典的所有key;
- 通过遍历key来获取value
values()
- 以序列的形式返回字典的所有value;
- 遍历values来获取value
items()
- 返回包含所有的key,value的序列
- 对其进行遍历即可
len()
- 获取字典项数或字典键值对数;
in、not in
- in检查字典是否包含指定的键
- not in检查字典是否不包含指定的键
dict.copy()
- 对字典dic进行浅复制,并以字典返回;复制的对象与原对象独立,互不影响;
来源:CSDN
作者:Late whale
链接:https://blog.csdn.net/Late_whale/article/details/104133807