俗话说的好,”打铁还需自身硬“,要想让测试才能得到充分发挥,练就理论联系实践的本领是必经之路。从笔者初涉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. 也可在列表中添加和删除元素

  1. Names.append(‘Cindy’)

  2. Names.remove(‘Lucy’)

5. 下面小升级一下,将用列表来展示商店顾客来往情况,刚开始店内没有顾客,随之顾客的加入,可显示加入的顾客名单,随着顾客离开则及时从名单中删除,大家可以在IDE上自行练习:

  1. def main():

  2. line = []

  3. action = ''

  4. while action != 'done':

  5. action = input('What action should take place?')

  6. if action == 'join':

  7. name = input('Customer name: ')

  8. line.append(name)

  9. if action == 'leave':

  10. name = input('Customer name: ')

  11. if name in line:

  12. line.remove(name)

  13. else:

  14. print('The person is not in line')

  15. if action == 'show':

  16. input(line)

  17. main()

来看看程序的执行结果:

6.使用列表进行迭代,来看个例子:

numbers = [3,6,9,12,15]

  1. # 输出所有数值

  2. for i in range(len(numbers)):

  3. print(numbers[i])

7. 二维列表,更能模拟真实场景来表达复杂的数据信息。如老师需要算出一个班级的学生成绩,

  1. score = [

  2. ['Lily', 80,93,91,88],

  3. ['Lucy', 91,95,89,90],

  4. ['Robot', 96, 95, 97,93]

  5. ]

  6. def print_final_grades(score):

  7. for i in range(len(score)):

  8. score_sum = 0

  9. for j in range(1,5):

  10. score_sum += score[i][j]

  11. print(score[i][0]," : ",str(score_sum/4))

  12. print_final_grades(score)

来看一下我们的结果一样么?

02 字典Dictionary

1. 字典用来存储键值对的信息,通常用大括号来表示,如姓名和电话相关:

  1. contacts = {'lily':'0591-87656789','robot':'022-7788659'}

  2. print(contacts)

来看看运行结果:

2. 字典的迭代,来看个例子:

  1. contacts = {'lily':'0591-87656789','robot':'022-7788659'}

  2. for contact in contacts.items():

  3. print(contact)

运行一下,得到了你们期望的吗?

03 集合Set

1. 集合可将多个元素组合在一起,而不用考虑它们的顺序。

还是上代码:

  1. employee = set()

  2. print(employee)

  3. names = set(('lily',5,'lucy'))

  4. print(names)

  5. names.add('robot')

  6. names.discard('lily')

  7. print(names)

你们猜猜运行结果分别是什么?

2. 集合也可以进行迭代

  1. names = set(('lily',5,'lucy'))

  2. for name in names:

  3. print(name)

  4. names.add('robot')

  5. names.discard('lily')

  6. for name in names:

  7. print(name)

一起来看看运行结果吧

3. 元组Tuple

元组与列表类似,不同之处在于元组中的元素不能进行修改。

举个例子:

  1. tuple = ('lily','lucy','robot')

  2. print(tuple)

试一下修改会怎么样?

  1. tuple.add('elsa')

  2. print(tuple)

  3. tuple.append('elsa')

  4. print(tuple)

不过,我们可以对tuple进行拼接,前提是tuple的元素个数一样,比如

  1. tuple1 = ('lily','lucy','robot')

  2. print(tuple1)

  3. tuple2 = ('elsa','1','3')

  4. tuple3 = tuple1 + tuple2

  5. print(tuple3)

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

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

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐