一、字典的定义:
1、字典(dict)是一种可变的容器模型,可以存储任意类型的数据,是以键(key):值(value)对的方式进行数据存储,键和值之间用冒号分隔,每个键值对之间用英文逗号“,”分隔,整个字典包括在大括号中“{}”。
2、因为字典中的每个数据都是用'键'(key)来进行索引的,所以键必须是唯一的,且是不可变类型,如字符串、数字或元组(列表不可以作为键,列表是可变的),如果重复最后的一个键值对会替换前面的。
3、字典的底层使用了hash表来关联key和value,因此字典中的数据是无序的,这样数据查找和插入的速度极快,不会随着key的增加而变慢,但需要占用的内存较多,所以,字典(dict)是一种以空间换取时间的数据结构,应用于需要快速查找的场景。
二、字典的基本操作:
1、字典的创建:既可使用大括号语法来创建字典,也可使用 dict()函数来创建字典。
2、访问字典的值:把相应的键放入方括号中,dict1[key1]。
3、增加字典的key-value对:只需为不存在的 key 赋值即可。
4、删除字典的key-value对:则可使用 del 语句。
5、修改字典的key-value对:对字典中存在的key-value对赋值,就会覆盖原有的value,就可以修改字典中的key-value对。
6、判断指定key-value对是否存在:判断字典是否包含指定的key,则可以使用in或not in运算符。
举例说明以上的操作:
三、字典的内置函数和方法
dict_name.clear() # 删除字典内所有元素
dict_name.copy() # 返回一个字典的浅复制(浅复制不懂什么意思,但是我测试了一下这个函数,就跟print()一样,输入这个字典的key-value对的值)
dict.fromkeys(seq, val) # 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值(可以为空)
dict_name.get(key, key1) # 返回指定键key的值,如果值不在字典中返回key1值
dict_name.items() # 以列表的形式返回字典的键-值对的元组数组
dict_name.keys() # 以列表的形式返回字典所有的键
dict_name.values() # 以列表返回字典中的所有值
dict_name.pop(key) # 删除key并返回它的值
dict_name.popitem() # 返回并删除字典中的最后一对键和值
dict_name.setdefault(key, key1) # 和get()类似, 但如果键key不已经存在于字典中,将会添加键并将值设为key1
dict_name.update(dict2) # 把字典dict2的键/值对更新到dict里
以下为dict字典函数的具体例子:
四、字典的遍历
1、遍历所有的键-值对:
2、遍历字典中所有的键
使用一个空列表接收所有的key值,sorted()可以是key值排序,列表key_list1和ley_list2两个结果就是顺序不同。
3、遍历字典中的所有的值:
是一个空列表接收value值,所有值中有重复的,可以使用set集合去重,列表value_list1和value_list2有明显不同。
最后,以上是我对于字典肤浅的认识,不足之处和缺失部分请各位指正和交流。
如果后续对字典有更深的学习我会随时更新本篇文章。