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类型
相关文章
|
13天前
|
搜索推荐 Python
使用Python自动化生成物业通知单
本文介绍如何使用Python结合Pandas和python-docx库自动化生成物业通知单。通过读取Excel数据并填充至Word模板,实现高效准确的通知单批量制作。包括环境准备、代码解析及效果展示,适用于物业管理场景。
51 14
|
16天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
3天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
18 7
|
17天前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
24 7
|
16天前
|
安全 API 文件存储
Yagmail邮件发送库:如何用Python实现自动化邮件营销?
本文详细介绍了如何使用Yagmail库实现自动化邮件营销。Yagmail是一个简洁强大的Python库,能简化邮件发送流程,支持文本、HTML邮件及附件发送,适用于数字营销场景。文章涵盖了Yagmail的基本使用、高级功能、案例分析及最佳实践,帮助读者轻松上手。
28 4
|
16天前
|
敏捷开发 测试技术 持续交付
自动化测试之美:从零开始搭建你的Python测试框架
在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
|
2天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
24 11
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
60 3
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
74 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
260 7
Jmeter实现WebSocket协议的接口测试方法