文章目录
一、前言
本文章主要讲解的是关于Python中字典与集合的操作、常用方式、注意事项等内容,是字典与集合的专题讲解。
系列文章推荐:
系列文章1:【Python自动化测试1】遇见Python之美
系列文章2:【Python自动化测试2】Python安装配置及PyCharm基本使用
系列文章3:【Python自动化测试3】初识数据类型与基础语法
系列文章4:【Python自动化测试4】字符串知识总结
系列文章5:【Python自动化测试5】列表与元组知识总结
大部分内容都是在后续的自动化文章中会使用到的内容,小部分内容了解即可,初识Python的同学建议都了解一下,话不多说,快来一起看看吧~
二、字典讲解
2.1 字典作用
字典的作用也是用于多个数据的存储,但和列表不同,使用花括号{}
进行表示,字典是以键值对Key:value
的形式存在的。字典的key
必须唯一,同一个字典中不能够出现两个相同的key
,如果出现则后者会代替前者,key
必须也是不可变的类型,而可变的只有列表。
同样都是用于存储多个数据,字典和列表的区别核心在于,键值对的字典可以给对应的value
值加上一段“注释”,这个注释就可以用key
的方式存在,当面临非常庞大的数据量进行存储时,我想找到其中的某一个带有特殊含义的元素,在列表中非常困难,但可以通过字典中key
的方式进行检索,以找到我需要的数据元素。
字典与列表也有不同,列表的存储是有序的,因为列表有索引下标,它在内存中所存储的位置就是0,1,2,3…对应的顺序关系,而字典中的数据存储在内存中是无序的,尽管数据看起来是A在B的前面,但实际上的排序在内存中可能是东一块西一块,在排序上和列表也有明显区别。
字典在自动化测试中更多的是用于存储测试用例的数据,例如接口数据,存储测试用例数据是主要场景。
# 字典的形式以key:value的形式存在,这是不同于列表的
music_list = {
"周杰伦rap01": "双截棍", "周杰伦rap02": "忍者", "薛之谦01": "演员", "薛之谦02": "你还要我怎样"}
print(type(music_list))
print(music_list)
2.2 字典key类型
字典key
在上面提到是不可变类型,在Python的不可变类型有元组、整型、布尔类型等,字典的key
也可以用非字符串的数据类型来进行表示:
music_list2 = {
1.11: "死了都要爱", True: "龙卷风", (1, 2): "如果我是DJ,你会爱我吗?", "魔性洗脑": "江南style"}
print(music_list2)
参考下列例子,如果以True
或False
作为一个字典元素的key
,那么请务必小心,数字1等于True
的值,数字0等于False
的值,也就意味着如果在字典中有一个key
是1
,有一个key
是True
,那么重复的内容则不会作为元素表示,如果你在表示一个元组时忘记加逗号,那么也会直接当做1来判断,此时如果你的字典中有key
为1
的情况下,仍然会出现元素冲突,故此大家在真实的项目中尽可能不要使用以下的数据作为一个字典元素的key,很可能会造成数据丢失的情况,字典长度也会发生变化,毕竟在字典中不允许存在相同的key
:
music_list2 = {
1: "死了都要爱", True: "龙卷风"