Python接口自动化测试框架(基础篇)-- 常用数据类型list&set()

简介: 本文介绍了Python中list和set两种数据类型的使用,包括它们的创建、取值、增删改查操作、排序以及内置函数的使用,还探讨了list的比较函数和set的快速去重功能。

一、前言

接下来的两篇是讲可变数据类型,本篇先讲list,它是python中最基本的数据类型,它的元素可以任何python数据类型

image.png

二、列表

关键字:list,符号[],数据组成:可以包含任意数据类型:int float str list tuple dict 布尔值;不同的元素用逗号隔开

1、创建列表
str1 = "123"

list_1 = []  # 表示空列表
list_2 = list(str1) # 把字符串拆分,一个一个的元素组成列表[]

print(list_2) # 输出:["1","2","3"]
2、取值方式
  • 根据索引取值
  • 支持切片取值[m:n:k]
3、增删改查
  • 增加的多种方式,append追加,在list最后面的追加
list1 = [1,2,3,4]

list1.append("value")  # 直接在列表后面追加,
print(list1) # 输出:[1,2,3,4,"value"]
  • insert 往指定下标位置插入元素,原来位置的元素往后移
list1 = [1,2,3,4]

list1.insert(2,"element")

print(list1) # 输出:[1,2,"element",3,4]
  • extend(),参数是可迭代对象,如:set()、str、tuple、list
list1 = [1,2,3,4]
list1.extend("abc")

print(list1) # 输出:[1,2,3,4,"a","b","c"]
  • 删除的几种方法
pop()  # 删除list列表最末位的元素
remove(element)# 删除第一次出现的元素
del list[1] # 删除列表1索引位置的元素
clear() # 清空列表
  • 赋值运算,即替换:list[index_num]=New_value,index_num位置的值被替换成New_value
4、排序
  • 升序; 注意升降序的list元素必须是int类型
list1 = [5,2,3]
list1.sort() # 默认升序;

print(list1) # 输出:[2,3,5]
  • 降序,sort,可以由参数决定,默认是False升序
list1 = [5,2,3]

list1.sort(reverse=True)

print(list1) # 输出:[5,3,2]
  • 反序
list1 = [1,2,3]
list1.reverse()

print(list1) # 输出:[3,2,1]
5、其他内置函数
  • all() # list元素列表只要有一个false则返回false
  • any() # list元素列表中只要有一个true则返回true
  • len() # 求列表元素的长度
  • count() # 计算list元素的个数
  • max() # 返回list元素中最大的值
  • min() # 返回list元素中最小的值

三、集合

set(),花括号{}表示,为啥要跟list类型一块,因为它可以在list之间相互转换,且对list元素有去重的特性

1、创建set()集合
s = set()  # 表示一个空集合

print(s) # 输出:set()。 为啥不是{},因为{}是没值的dict类型

s = set([1,2,3])

print(s) # 输出:{1,2,3}
2、添加元素,如果有重复的元素是覆盖
se = {1,2,3}

se.add(4)

print(se) # 输出:{1,2,3,4}
  • 它是不可变数据类型

# add() 只能添加不可变数据类型,可变的就会报错
TypeError: unhashable type: 类型错误,不能hash的类型
3、删除remove元素,指定删除元素
se = {
   
   1,2,3}
se.remove(2)

print(se) # 输出:{1,3}

四、扩展

1、list的比较函数
  • cmp在python3中已经没有,如果想比较需要导入operator模块
import operator

list_1 = [1, 4.2, (1, 2), {
   
   1: "s", "abc": 1}, [1, 2, 3], "123"]
list_2 = [1, "a", ('b', 'c')]
print("operator比较两个列表的元素:", operator.__eq__(list_1, list_2))
2、set()快速去重
lis12=[1,3,7,9,1,3]
lis_set=set(lis12)
print("list快速去重,set集合只存在不可变数据类型:{}".format(lis_set))
  • 识别可变数据类型
lis14=[(1,),[1,2,3],1,{1,2,3},{"1":'1'},"12",True,1.123]
set(lis14)

执行结果:
1、TypeError: unhashable type: 'list',--去掉list类型
2、TypeError: unhashable type: 'set',--去掉set类型
3、TypeError: unhashable type: 'dict',--去掉dict类型
相关文章
|
6天前
|
数据可视化 数据管理 测试技术
聊聊自动化测试框架
关于自动化测试框架的一些理解和思考总结,就是上面这些内容,提到的一些框架组件可能存在不合理的地方,仅供参考,如有更好的建议,请指出,不胜感激
17 4
聊聊自动化测试框架
|
1天前
|
敏捷开发 IDE 测试技术
自动化测试框架的选择与应用
【9月更文挑战第16天】在软件开发周期中,测试环节扮演着至关重要的角色。随着敏捷开发和持续集成的流行,自动化测试成为提升软件质量和效率的关键手段。本文将探讨如何根据项目需求选择合适的自动化测试框架,并通过实际案例分析展示其在软件开发过程中的应用。我们将从单元测试、集成测试到端到端测试等多个层面,讨论自动化测试的最佳实践和常见问题解决策略。
|
6天前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
27 3
快速上手|HTTP 接口功能自动化测试
|
15天前
|
IDE 测试技术 持续交付
Python自动化测试与单元测试框架:提升代码质量与效率
【9月更文挑战第3天】随着软件行业的迅速发展,代码质量和开发效率变得至关重要。本文探讨了Python在自动化及单元测试中的应用,介绍了Selenium、Appium、pytest等自动化测试框架,以及Python标准库中的unittest单元测试框架。通过详细阐述各框架的特点与使用方法,本文旨在帮助开发者掌握编写高效测试用例的技巧,提升代码质量与开发效率。同时,文章还提出了制定测试计划、持续集成与测试等实践建议,助力项目成功。
39 5
|
15天前
|
存储 数据挖掘 程序员
揭秘Python:掌握这些基本语法和数据类型,你将拥有编程世界的钥匙!
【9月更文挑战第3天】Python 是一种简洁强大的高级编程语言,其清晰的语法和丰富的功能深受程序员喜爱。本文从基本语法入手,介绍 Python 的代码结构特点,如通过缩进区分代码块,使逻辑更清晰。接着详细讲解主要数据类型:数值型、字符串、列表、元组、集合与字典,每个类型均附有示例代码,帮助初学者快速掌握 Python,为后续学习打下坚实基础。
26 2
|
17天前
|
测试技术 C# 图形学
掌握Unity调试与测试的终极指南:从内置调试工具到自动化测试框架,全方位保障游戏品质不踩坑,打造流畅游戏体验的必备技能大揭秘!
【9月更文挑战第1天】在开发游戏时,Unity 引擎让创意变为现实。但软件开发中难免遇到 Bug,若不解决,将严重影响用户体验。调试与测试成为确保游戏质量的最后一道防线。本文介绍如何利用 Unity 的调试工具高效排查问题,并通过 Profiler 分析性能瓶颈。此外,Unity Test Framework 支持自动化测试,提高开发效率。结合单元测试与集成测试,确保游戏逻辑正确无误。对于在线游戏,还需进行压力测试以验证服务器稳定性。总之,调试与测试贯穿游戏开发全流程,确保最终作品既好玩又稳定。
40 4
|
19天前
|
物联网 测试技术 持续交付
软件测试的艺术与科学:探索自动化测试框架未来技术的融合与创新:探索区块链、物联网和虚拟现实的交汇点
【8月更文挑战第30天】在软件开发的海洋中,测试是确保航行安全不可或缺的灯塔。本文将带领读者揭开软件测试神秘的面纱,深入理解自动化测试框架的重要性和实现方法。通过实际案例,我们将一起探索如何构建高效、可靠的自动化测试系统,从而保障软件质量,提升开发效率。
|
18天前
|
测试技术 API 开发者
Python 魔法:打造你的第一个天气查询小工具自动化测试框架的构建与实践
【8月更文挑战第31天】在这篇文章中,我们将一起踏上编程的奇妙旅程。想象一下,只需几行代码,就能让计算机告诉你明天是否要带伞。是的,你没有听错,我们将用Python这把钥匙,解锁天气预报的秘密。不论你是编程新手还是想拓展技能的老手,这篇文章都会为你带来新的视角和灵感。所以,拿起你的键盘,让我们一起创造属于自己的天气小工具吧!
|
18天前
|
Web App开发 XML 测试技术
自动化测试框架设计:以Python和Selenium为例
【8月更文挑战第31天】在软件开发的快节奏中,自动化测试成为确保产品质量的关键步骤。本文将引导读者了解如何结合Python语言和Selenium工具来设计一个高效的自动化测试框架。通过浅显易懂的语言和实际代码示例,我们将探索自动化测试框架的核心组件,并学习如何实现它们。无论你是测试新手还是希望提升自动化技能的开发者,这篇文章都将为你打开一扇通向高效软件测试的大门。
|
20天前
|
索引 Python
Python 中常见的内置数据类型
【8月更文挑战第29天】
17 3