testDict = {'name':'xiaoxiao','age':8}
for key,value in testDict.items():
print(key,value,end='-')
4.编辑集合
testSet = {1,2,3,4}
for items in testSet:
print(items,end='-')
二、列表、元组、集合和字典相互转换
1.列表元组转化为集合(去重)
list1 = [1,2,2,3,3,4]
set1 = set(list1)
print(set1)
# {1, 2, 3, 4}
2.两个列表转字典
list1 = ["key1","key2","key3"]
list2 = ["1","2","3"]
dict1 = dict(zip(list1,list2))
print(dict1)
# {'key1': '1', 'key2': '2', 'key3': '3'}
3.嵌套列表转字典
list3 = [["key1","valu1"],["key2",'value2'],['key3','value3']]
dict1 = dict(list3)
print(dict1)
# {'key1': 'valu1', 'key2': 'value2', 'key3': 'value3'}
4.列表、元组转字符串
list1 = ['a','b','c']
str1 = " ".join(list1)
print(str1)
# a b c
tup1 = ('xu','xiao','xiao')
str2 = "-".join(tup1)
print(str2)
# xu-xiao-xiao
5.字典转为字符串
dic1 = {"name":"xiaoxiao","age":8}
str1 = str(dic1)
print(str1)
# {'name': 'xiaoxiao', 'age': 8}
6.字符串转换为列表
s = 'xiaoxiao'
list4 = list(s)
print(list4)
# ['x', 'i', 'a', 'o', 'x', 'i', 'a', 'o']
7.字符串转元组
s1 = 'xiao'
tup2 = tuple(s1)
print(tup2)
# ('x', 'i', 'a', 'o')
8.字符串转字典
s2 = "{'name':'xiao','age':8}"
dict2 = eval(s2)
print(dict2)
# {'name': 'xiao', 'age': 8}
9.切分字符串
s3 = 'a,b,c'
list5 = s3.split(',')
print(list5)
# ['a', 'b', 'c']
三、列表、元组、集合和字典各自使用场景举例
在Python接口自动化测试中,数据结构扮演着至关重要的角色,用于组织和处理测试数据、请求参数和响应结果。
1.列表使用场景
假设我们有多个用户的ID,需要通过接口获取每个用户的信息:
# 定义用户ID列表
user_ids = [1001, 1002, 1003]
# 对每个用户ID发起请求
for user_id in user_ids:
response = requests.get(f"https://api.example.com/users/{user_id}")
# 进行响应处理和断言验证
assert response.status_code == 200
# 解析响应体(这里假设返回的是JSON格式数据)
user_info = response.json()
# 验证用户信息
assert 'name' in user_info and 'email' in user_info
2.字典一般用于构造请求参数和返回参数
在发送一个包含多个键值对的POST请求时,我们可以使用字典来封装请求体:
import json
import requests
# 定义要提交的数据
new_user_data = {
'username': 'testuser',
'email': 'testuser@example.com',
'password': 'SecurePassword123!'
headers = {'Content-Type': 'application/json'}
# 发起POST请求
response = requests.post("https://api.example.com/users",
headers=headers,
data=json.dumps(new_user_data))
# 断言检查
assert response.status_code == 201 # 检查是否成功创建新用户
同样我们可以通过解析JSON响应并存储到字典
# 从API获得的JSON响应通常会被转换成Python字典以便于处理:
# 假设响应体如下:
response_json = '{"id": 1, "name": "John Doe", "roles": ["admin", "user"] }'
# 将JSON转换为字典
data_dict = json.loads(response_json)
# 访问和验证数据
assert data_dict['name'] == 'John Doe'
assert 'admin' in data_dict['roles']
3.使用元组存储固定不变的数据
在某些情况下,比如需要预设一组固定的认证信息,可以用元组表示不可变的数据:
# 配置认证信息
auth_credentials = ('admin', 'secret_password')
# 在请求时添加认证头
response = requests.get("https://api.example.com/private-data", auth=requests.auth.HTTPBasicAuth(*auth_credentials))
# 进行后续的断言验证
以上示例展示了在Python接口自动化测试中,列表、字典和元组是如何被灵活运用的。
1、python系列之:列表、元组、集合、字典用法详解
2、python 接口自动化数据结构(如列表、字典、元组)