Python3的序列——3、字典(dict)的详细讲解

一、字典的定义:

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有明显不同。

最后,以上是我对于字典肤浅的认识,不足之处和缺失部分请各位指正和交流。

如果后续对字典有更深的学习我会随时更新本篇文章。

  • 5
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值