11.列表的嵌套
# #列表的嵌套、字符类型
# list4=[1,'go','你好',1008.21,True['json','java','c++','go',[1,2,3,7]]]
# print(list4[])
# #列表的切片,获取列表中指定范围的元素信息,包含开始但是不包含结束
# list5=[1,3,5,7,9,15,17]
# #获取3-7 包含开始不含结束,所以最后一位的索引需要多取
# print(list5[1:4])
# #获取最后一位元素
# print(list5[-1])
# #获取3-最后一位 那么不写到最后的范围会无限取,就会包含到最后的元素
# print(list5[1:])
# #获取全部
# print(list5)
12.列表的切片
列表的切片,获取列表中指定范围的元素信息,包含开始但是不包含结束
#列表的切片,获取列表中指定范围的元素信息,包含开始但是不包含结束
list5=[1,3,5,7,9,15,17]
#获取3-7 包含开始不含结束,所以最后一位的索引需要多取一位
print(list5[1:4])
#获取最后一位元素 倒着取
print(list5[-1])
#获取3-最后一位 那么不写到最后的范围会无限取,就会包含到最后的元素
print(list5[1:])
#获取全部 不写前后范围,前后无限取就会涵盖了所有内容
print(list5)
#获取倒数第二位的元素
print(list5[-2])
#拿到列表的所有字符和对应的索引
for index,values in enumerate(list5):
print(index,values
13.得到列表的所有元素和索引enumerate
#拿到列表的所有字符和对应的索引
for index,values in enumerate(list5):
print(index,values)
(二)元组
1.元组只有一个元素且没有加逗号的话,视为字符串
2.查看其有什么使用方法(str、list、tuple都可),带下划线的都不管。
print(dir(tuple1)) dir后边是名字
tuple1=(1,2,5,5)
print(dir(tuple1))
3.查看某个元素的索引是几,线性查找
print(tuple1.index(5))
4.查看某个元素共有几个
print(tuple1.count(5))
5.列表和元组的转换tuple/list
列表和元组的互相转换是强制性转换
#列表和元组的互相转换是强制性转换
# list1=['1','2','3']
# list_tuple=tuple(list1)
# print(list_tuple,type(list_tuple))
# tuple_list=list(list_tuple)
# print(tuple_list,type(tuple_list))
(三)字典
1.增加新的字典内容
#添加新的
dict1['sex']='女'
print(dict1)
2.删除字典元素
# 字典的删除
# del dict1['age']
# print(dict1)
3.修改字典元素
# dict1['name']='xz'
# print(dict1)
4.查看字典所有的key,values元素(item)
# 查看字典里所有的key
# for item in dict1.keys():
# print(item)
# #查看字典里所有的values
# for item in dict1.values():
# print(item)
5.查看字典的某个元素
#字典的获取
print(dict1['name'])
print(dict1.get('name'))
6.字典的追加合并update
# #列表的追加合并
#dict1={'name':'zx','age':18,'address':'xian'}
# dict2={'hobbits':'play games'}
# dict1.update(dict2)
# print(dict1)
7.字典的循环输出
#字典的循环输出,使key和value内容相对应上输出
# for key,value in dict1.items():
# print(key,value)
8.字典的排序sorted
按照key对字典的排序
#按照key对字典的排序.dict是强行变换元素的类型,这里的0是指[key,values],key的序号是0
# print(dict(sorted(dict1.items(),key=lambda item:item[0])))
按照value对字典的排序
#按照value对字典的排序,数字和字符串不能排序,需要修改数字18为‘18’字符串类型。这里的1是指[key,values],key的序号是0
# print(dict(sorted(dict1.items(),key=lambda item:item[1])))
(四)列表和字典的嵌套
1.如果出现数据格式需要utf-8,把下边的命令复制到最顶端
#! /usr/bin/env python
# -*- coding:utf-8 -*-
2.列表和字典的嵌套
# data={'status':0,'msg':'ok','datas':
# [{'name':'lizi1','age':12},
# {'name':'lizi2','age':13},
# {'name':'lizi3','age':28},
# {'name':'lizi4','age':18},
# ]
# }
3.获取的所有的年龄放在一个列表中
定义一个列表,有两种方式
ages=list() ages=[]
for item in data[‘datas’]: ages.append(item[‘age’]) print(ages)
#! /usr/bin/env python
# -*- coding:utf-8 -*-
# data={'status':0,'msg':'ok','datas':
# [{'name':'lizi1','age':12},
# {'name':'lizi2','age':13},
# {'name':'lizi3','age':28},
# {'name':'lizi4','age':18},
# ]
# }
# 获取的所有的年龄放在一个列表中
# print(data['datas'])
# 定义一个列表,有两种方式
# ages=list()
# ages=[]
# for item in data['datas']:
# ages.append(item['age'])
# print(ages)
#
# 取出所有的姓名放在一个列表下
# names=[]
# for item in data['datas']:
# names.append(item['name'])
# print(names)
(五)set集合
坦⽩的说,集合是⼀个数学概念,可以由⼀个或者是多个确定的元素构成的整体。我们最常⽤的就是集合⾥⾯的交 集,也就是获取两个对象⾥⾯的共同值。
1.取两个集合的共有数据
2.取两个集合的不同部分
#list1=['java','go','pytest']
# list2=['pytest','testag','edg']
#set两个集合取共有数据、取不同数据
# print('得到相同的数据:/n',set(list1)&set(list2))
# print('得到两个列表中不同的数据:/n',set(list1)^set(list2))
练习:接口测试数据的返回
1.取出字典里返回的电话和状态
2.对字典内容循环输出
#接口测试的返回的数据取出
# data1={"token":"eyJ","user":{"uid":"adG","telephone":"13484545195","username":"无涯","email":None,"avator":"","date_joined":"2022-01-08T15:07:01.003115+08:00","is_active":True}}
# 这是2中书写方式,分开返回或一次返回
# print(data1['user']['telephone'])
# # print(data1['user']['is_active'])
# print(data1['user']['telephone'],data1['user']['is_active'])
# 对字典的循环
# for key,value in data1.items():
# print(key,value)
3.对列表内部id写入一个列表并进行排序
#取出所有的id放在一个列表下,并对列表排序
lists=[]
for item in data:
lists.append(item['id'])
lists.sort()
print(lists)
【面:列表与元组的区别?】
-
列表是可变的,元组是不可变的,列表的可变指的是列表可以添加新的元素,也可以删除。
-
列表里面有的元素信息,而元组是不能增加新的元素,也不能对已有的元素删除
【面:列表和字典的区别?】
-
列表是有序的,列表是用索引存放各种集合,
-
字典(dict1)特性1是⽆序的,2是可以使⽤key-value的⽅式来存储数据。
接口测试里边返回的json数据格式。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/python/287664.html