前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python中的字典学习笔记

Python中的字典学习笔记

作者头像
小博测试成长之路
发布2023-09-01 08:22:30
1670
发布2023-09-01 08:22:30
举报
文章被收录于专栏:软件测试学习

字典的格式:{"key":"value"}

key表示数据的含义,value表示对应的数据的值 字典是一种可变的数据类型,从python3.7开始,字典是有序的。

字典创建的方式

1、通过{},要使用key:value的格式,因为{}还可以用来创建集合。直接使用{}表示的是一个空的字典。。

注意:

字典的key必须是可以进行哈希计算的数据,可进行hash的数据结构通常是指能通过哈希函数hash()计算出唯一值的数据结构,比如整数、字符串、元组等。

整数 1 和浮点数 1.0 会被当作相同的键

像列表这种可变类型,是不能放在字典里面当key的哟

用元组当key是不会报错的:

2、通过dict()去创建。

代码语言:javascript
复制
info = dict(name="小博", age=31, wechat="xiaobotester")
print(info)  
打印如下:
{'name': '小博', 'age': 31, 'wechat': 'xiaobotester'}

字典修改

1、字典合并

代码语言:javascript
复制
info = dict(name="小博", age=31, wechat="xiaobotester")
info.update({"name":"张三","sex":"boy"})
print(info)
打印如下:
{'name': '张三', 'age': 31, 'wechat': 'xiaobotester', 'sex': 'boy'}

2、直接使用dict[key]=value进行修改或者添加key的值

代码语言:javascript
复制
info = dict(name="小博", age=31, wechat="xiaobotester")
info["sex"]="boy"
print(info)
打印如下:
{'name': '小博', 'age': 31, 'wechat': 'xiaobotester', 'sex': 'boy'}

3、使用setdefault()方法。用于获取字典中指定键的值。如果键存在于字典中,则返回该键对应的值;如果键不存在于字典中,则将该键插入字典,并返回默认值(如果指定了默认值)或者 None。

代码语言:javascript
复制
info = dict(name="小博", age=31, wechat="xiaobotester")
print( info.setdefault("wechat","123"))
print( info.setdefault("wechat1","123"))
print( info.setdefault("wechat2"))
print(info)
打印如下:
xiaobotester
123
None
{'name': '小博', 'age': 31, 'wechat': 'xiaobotester', 'wechat1': '123', 'wechat2': None}

字典删除相关的操作:

代码语言:javascript
复制
info = dict(name="小博", age=31")
info.pop("name")  # 移除指定的key-value的键值对
print(info)
info.popitem()  # 移除最后一个key-value的键值对
print(info)
info.clear()  #清空字典
print(type(info))
print(info)
打印如下:
{'age': 31}
{'age': 31}
<class 'dict'>
{}

也可以使⽤ del 字典[键] 可以删除字典中的指定元素:

代码语言:javascript
复制
info = dict(name="小博", age=31, wechat="xiaobotester")
del info["name"]
print(info)
打印如下:
{'age': 31, 'wechat': 'xiaobotester'}

字典的取值相关的操作:

最常见的一种方式就是dict[key],也可以用dict.get(key)进行取值。

先看看用中括号取值的缺点:

从上面的实例中可以看出,中括号的这种方式取值,当key不存在的时候,取值会报错。我以前没学习其他用法的时候,都是用中括号取值,然后取值之前判断一下key是否存在,接下来我们看使用get方法取值:

使用get的好处是:当字典里面的key不存在的时候,并不会报错,同时还可以设置默认值,这个用法的话,在一些场景下可以帮助我们精简很多代码。

字典的其他用法:

代码语言:javascript
复制
d = dict(a=1, b=2, c=3)
print(d.keys())  # 返回所有的key
print(d.values())  # 返回所有的value
print(d.items())  # 返回所有的key-value
打印结果:
dict_keys(['a', 'b', 'c'])
dict_values([1, 2, 3])
dict_items([('a', 1), ('b', 2), ('c', 3)])
代码语言:javascript
复制
d = dict(a=1, b=2, c=3)
for index, (key, value) in enumerate(d.items()):
    print(f"Index: {index}, Key: {key}, Value: {value}")
打印结果:
Index: 0, Key: a, Value: 1
Index: 1, Key: b, Value: 2
Index: 2, Key: c, Value: 3
代码语言:javascript
复制
End
想进学习交流群和同行一起探讨交流的可以加我好友,如果觉得文章对你有帮助的话,欢迎点赞转发~👇👇👇👆长按上方二维码2秒,关
Anaconda-一个开源的Python发行版本Python脚本读取Consul配置信息
Python中使用pickle库进行数据的序列化存储Python小知识-函数传参怎么设置期望的传参类型?
python解析xml遇到的问题分享(命名空间有关)
分享一下最近使用python字典取值用法的收获
Python里面怎么判断某个字符串是否包含列表中的某一个元素
Python中列表的extend()方法介绍
Python中鸭子类型与多态介绍
Python中的抽象基类介绍
Python中的type与isinstance的区别
Python中类的属性、多继承、自省机制中的__mro__、__dict__ 和dir介绍
Python中__new__和__init__的区别与联系
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小博测试成长之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档