掌握Python的这三大数据结构,让你的自动化测试更高效!
俗话说的好,”打铁还需自身硬“,要想让测试才能得到充分发挥,练就理论联系实践的本领是必经之路。从笔者初涉python语言开始,对python的列表、字段、集合印象就比较深刻,一是觉得他们不好区分,二是当时觉得他们有点高大上。
近期对一周紧张而有序的自动化测试落地中,更是和他们进行了深层次的会话。
说起python,不得不说它的三大数据结构:列表Lists、字典Dictionary和集合Sets。
01 列表List
列表,又称作数组,用于按有序序列构造其他类型的数据(字符串、整数等),它使用方括号创建。
-
追加:使用 append()方法在列表末尾添加元素
-
插入:使用 insert()方法在指定索引处插入元素
-
删除:使用 remove()方法删除元素
-
排序:使用 sort()方法按升序或降序对元素进行排序
举个例子:
numbers = [3,6,9]
Names = [’Elsa’,Lucy’,‘robot’]
emptyList = []
1. 第一行列表声明了三个整数
2. 第二行列表存储了三个人名,按照写入顺序表示为字符串
3. 第三行创建了空列表,有时候在编程初始化时会创建空列表,然后执行程序时再添加元素。

4. 也可在列表中添加和删除元素
-
Names.append(‘Cindy’) -
Names.remove(‘Lucy’)

5. 下面小升级一下,将用列表来展示商店顾客来往情况,刚开始店内没有顾客,随之顾客的加入,可显示加入的顾客名单,随着顾客离开则及时从名单中删除,大家可以在IDE上自行练习:
-
def main(): -
line = [] -
action = '' -
while action != 'done': -
action = input('What action should take place?') -
if action == 'join': -
name = input('Customer name: ') -
line.append(name) -
if action == 'leave': -
name = input('Customer name: ') -
if name in line: -
line.remove(name) -
else: -
print('The person is not in line') -
if action == 'show': -
input(line) -
main()
来看看程序的执行结果:

6.使用列表进行迭代,来看个例子:
numbers = [3,6,9,12,15]
-
# 输出所有数值 -
for i in range(len(numbers)): -
print(numbers[i])

7. 二维列表,更能模拟真实场景来表达复杂的数据信息。如老师需要算出一个班级的学生成绩,
-
score = [ -
['Lily', 80,93,91,88], -
['Lucy', 91,95,89,90], -
['Robot', 96, 95, 97,93] -
] -
def print_final_grades(score): -
for i in range(len(score)): -
score_sum = 0 -
for j in range(1,5): -
score_sum += score[i][j] -
print(score[i][0]," : ",str(score_sum/4)) -
print_final_grades(score)
来看一下我们的结果一样么?

02 字典Dictionary
1. 字典用来存储键值对的信息,通常用大括号来表示,如姓名和电话相关:
-
contacts = {'lily':'0591-87656789','robot':'022-7788659'} -
print(contacts)
来看看运行结果:

2. 字典的迭代,来看个例子:
-
contacts = {'lily':'0591-87656789','robot':'022-7788659'} -
for contact in contacts.items(): -
print(contact)
运行一下,得到了你们期望的吗?

03 集合Set
1. 集合可将多个元素组合在一起,而不用考虑它们的顺序。
还是上代码:
-
employee = set() -
print(employee) -
names = set(('lily',5,'lucy')) -
print(names) -
names.add('robot') -
names.discard('lily') -
print(names)
你们猜猜运行结果分别是什么?

2. 集合也可以进行迭代
-
names = set(('lily',5,'lucy')) -
for name in names: -
print(name) -
names.add('robot') -
names.discard('lily') -
for name in names: -
print(name)
一起来看看运行结果吧

3. 元组Tuple
元组与列表类似,不同之处在于元组中的元素不能进行修改。
举个例子:
-
tuple = ('lily','lucy','robot') -
print(tuple)
试一下修改会怎么样?
-
tuple.add('elsa') -
print(tuple) -
tuple.append('elsa') -
print(tuple)


不过,我们可以对tuple进行拼接,前提是tuple的元素个数一样,比如
-
tuple1 = ('lily','lucy','robot') -
print(tuple1) -
tuple2 = ('elsa','1','3') -
tuple3 = tuple1 + tuple2 -
print(tuple3)

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

更多推荐


所有评论(0)