字典的格式:{"key":"value"}
key表示数据的含义,value表示对应的数据的值
字典是一种可变的数据类型,从python3.7开始,字典是有序的。
字典创建的方式
1、通过{},要使用key:value的格式,因为{}还可以用来创建集合。直接使用{}表示的是一个空的字典。。
注意:
字典的key必须是可以进行哈希计算的数据,可进行hash的数据结构通常是指能通过哈希函数hash()计算出唯一值的数据结构,比如整数、字符串、元组等。
整数 1 和浮点数 1.0 会被当作相同的键
像列表这种可变类型,是不能放在字典里面当key的哟
用元组当key是不会报错的:
2、通过dict()去创建。
info = dict(name="小博", age=31, wechat="xiaobotester")
print(info)
打印如下:
{'name': '小博', 'age': 31, 'wechat': 'xiaobotester'}
字典修改
1、字典合并
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的值
info = dict(name="小博", age=31, wechat="xiaobotester")
info["sex"]="boy"
print(info)
打印如下:
{'name': '小博', 'age': 31, 'wechat': 'xiaobotester', 'sex': 'boy'}
3、使用setdefault()方法。用于获取字典中指定键的值。如果键存在于字典中,则返回该键对应的值;如果键不存在于字典中,则将该键插入字典,并返回默认值(如果指定了默认值)或者 None。
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}
字典删除相关的操作:
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 字典[键] 可以删除字典中的指定元素:
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不存在的时候,并不会报错,同时还可以设置默认值,这个用法的话,在一些场景下可以帮助我们精简很多代码。
字典的其他用法:
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)])
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
End
想进学习交流群和同行一起探讨交流的可以加我好友,如果觉得文章对你有帮助的话,欢迎点赞转发~
👇👇👇
👆长按上方二维码2秒,关注我
关注公众号,测试干货及时送达
往期精彩回顾
一篇文章为你揭秘pytest的基本用法
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__的区别与联系