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月前
|
缓存 自然语言处理 监控
阿里巴巴 item_review 接口深度分析及 Python 实现
阿里巴巴开放平台的 item_review 接口用于获取商品用户评论数据,支持评论内容、评分、买家信息等多维度分析,助力产品优化与市场策略制定。
|
5月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
6月前
|
缓存 监控 算法
item_get - Lazada 商品详情详情接口深度分析及 Python 实现
Lazada商品详情接口item_get可获取商品全维度数据,包括价格、库存、SKU、促销及卖家信息,支持东南亚六国站点,适用于竞品监控、定价策略与市场分析,助力跨境卖家精准决策。
|
6月前
|
JSON 监控 数据格式
1688 item_search_app 关键字搜索商品接口深度分析及 Python 实现
1688开放平台item_search_app接口专为移动端优化,支持关键词搜索、多维度筛选与排序,可获取商品详情及供应商信息,适用于货源采集、价格监控与竞品分析,助力采购决策。
|
6月前
|
缓存 供应链 监控
VVIC seller_search 排行榜搜索接口深度分析及 Python 实现
VVIC搜款网seller_search接口提供服装批发市场的商品及商家排行榜数据,涵盖热销榜、销量排名、类目趋势等,支持多维度筛选与数据分析,助力选品决策、竞品分析与市场预测,为服装供应链提供有力数据支撑。
|
6月前
|
缓存 监控 算法
唯品会item_search - 按关键字搜索 VIP 商品接口深度分析及 Python 实现
唯品会item_search接口支持通过关键词、分类、价格等条件检索商品,广泛应用于电商数据分析、竞品监控与市场调研。结合Python可实现搜索、分析、可视化及数据导出,助力精准决策。
|
6月前
|
缓存 监控 算法
苏宁item_get - 获得商品详情接口深度# 深度分析及 Python 实现
苏宁易购item_get接口可实时获取商品价格、库存、促销等详情,支持电商数据分析与竞品监控。需认证接入,遵守调用限制,适用于价格监控、销售分析等场景,助力精准营销决策。(238字)
|
6月前
|
监控 算法 数据安全/隐私保护
唯品会 item_get - 获得 VIP 商品详情接口深度分析及 Python 实现
唯品会item_get接口通过商品ID获取商品详情,支持价格、库存、促销等数据抓取,适用于电商分析、竞品监控与价格追踪,结合Python实现可高效完成数据获取、分析与可视化,助力精准营销决策。

推荐镜像

更多