Python中关于字典的知识有哪些

发布时间:2021-11-22 17:00:10 作者:iii
来源:亿速云 阅读:128

本篇内容主要讲解“Python中关于字典的知识有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python中关于字典的知识有哪些”吧!

字典(dict)

dic是映射类型,由{}括起来的键值对组成,在dict中key是唯一的.在保存的时候,根据key来计算出唯一个内存地址. 然后将key-value保存在这个地址中.这种算法被称为hash算法,所以,在dict中存储的key-value中的key必须是可hash的,如果你搞不懂什什么是可哈希, 暂时可以这样记, 可以改变的都是不可哈希的,可哈希就意味着不可变. 这个是为了能准确的计算内存地址而规定的。已知的可哈希(不可变)的数据类型: int, str, tuple, bool

不可哈希(可变)的数据类型: list, dict, set

语法:{key1: value1, key2: value2....}

dict保存的数据不是按照我们添加进去的顺序保存的. 是按照hash表的顺序保存的. 而hash表不是连续的. 所以不能进行切片工作. 它只能通过key来获取dict中的数据,在3.6之前.打印一个字典的结果中键值对的顺序都是错乱的,3.6之后,键值对的顺序与输入的顺序一致,但是保存的时候还是无序的

增加:

1.dict[一个字典中不存在的key0 = 值, 就会新增一个键值对

2.setdefalt():设置默认值,当没有为一个key设置value时,key等于这个默认value,通过方法1设置之后,value就会是设定的那个value

删除:

1.pop(key):类似于list的pop,不过list使用的是下标,而dict用的是key

2.del 关键字 用法同list

3.popitem():随机删除一个键值对

4.clear():清空,一个不剩

修改:

1.dict[一个已经存在的key] = value 会对已有的键值对重新赋值,覆盖原有的的value

2.dict1.update(dict2):把dict2中的键值对更新到dict1中,key一样的会覆盖,没有的键值对会新增

查询:

1..dict[一个已经存在的key] 当key在dict中不存在的时候,会报错

2.get(key,defalt=None):与方法1不同的是.key不存在的时候返回None,这个None可以通过参数defalt修改

其他相关操作:

例:dic = {"id": 123, "name": 'sylar', "age": 18, "ok": "科比"}

1.print(dic.keys) # dict_keys(['id', 'name', 'age', 'ok']) 它的形式类似于list,但是并不是list,print(type(dic.keys))的结果是 ,但是可以当做list来用,可以进行for循环.

for key in dic.keys:

print(key)

2.print(dic.values()) #同keys基本一样,用法也相同

for value in dic.values:

print(value)

3.print(dic.items()) #dict_items([('id', 123), ('name', 'sylar'), ('age',18), ('ok', '科比')])

for key, value in dic.items:

print(key, value)

*一个特殊情况:直接遍历dic,打印的也是key.

for i in dic:

print(i)

到此,相信大家对“Python中关于字典的知识有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. python字典基础知识
  2. Python中字典是不是有顺序的

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:k8s使用ingress-nginx负载均衡的示例分析

下一篇:c语言怎么实现含递归清场版扫雷游戏

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》