欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > Phthon3 学习记录-0613

Phthon3 学习记录-0613

2025/6/15 6:43:57 来源:https://blog.csdn.net/weixin_43149506/article/details/148637627  浏览:    关键词:Phthon3 学习记录-0613

List(列表)、Tuple(元组)、Set(集合)和 Dictionary(字典)

在接口自动化测试中,List(列表)、Tuple(元组)、Set(集合)和 Dictionary(字典)这些数据结构都有各自独特的用途。以下通过一个简单的接口自动化测试示例来展示它们的用法及区别。

假设我们正在测试一个获取用户信息的接口,接口返回的数据类似如下:

{"users": [{"id": 1,"name": "Alice","email": "alice@example.com"},{"id": 2,"name": "Bob","email": "bob@example.com"}]
}
List(列表)

列表是有序且可变的。在接口自动化中,常用于存储一系列相关的数据,比如接口返回的多个用户信息。

import requestsdef test_get_users():response = requests.get('http://example.com/api/users')if response.status_code == 200:data = response.json()users_list = data.get('users', [])# 遍历列表获取每个用户信息for user in users_list:print(f"User ID: {user['id']}, Name: {user['name']}, Email: {user['email']}")# 修改列表中的数据(假设接口支持更新用户信息)if users_list:users_list[0]['name'] = 'UpdatedAlice'print(f"Modified User: {users_list[0]}")

Tuple(元组)
元组也是有序的,但它是不可变的。在接口测试中,可用于存储一些固定不变的数据,例如接口的固定请求头

import requestsdef test_get_users_with_fixed_headers():fixed_headers = ('Content-Type', 'application/json')response = requests.get('http://example.com/api/users', headers=dict([fixed_headers]))if response.status_code == 200:print("Request successful with fixed headers")
Set(集合)

集合是无序且不包含重复元素的。在接口自动化中,可用于检查接口返回的数据中是否存在重复的元素,比如重复的用户 ID。

import requestsdef test_check_unique_user_ids():response = requests.get('http://example.com/api/users')if response.status_code == 200:data = response.json()user_ids = set()users_list = data.get('users', [])for user in users_list:user_id = user['id']if user_id in user_ids:print(f"Duplicate user ID: {user_id}")else:user_ids.add(user_id)print(f"Unique user IDs: {user_ids}")
Dictionary(字典)

字典是无序的键值对集合。在接口自动化中,广泛用于处理接口的请求参数、响应数据等,因为它可以方便地通过键来访问值。

import requestsdef test_get_user_by_id():user_id = 1request_params = {'id': user_id}response = requests.get('http://example.com/api/user', params=request_params)if response.status_code == 200:user_data = response.json()print(f"User Name: {user_data.get('name')}, Email: {user_data.get('email')}")
#!/usr/bin/python3dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2]     = "2 - 菜鸟工具"tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值
        区别总结
  • List(列表):有序、可变,适用于需要顺序存储且可能需要修改的数据,如接口返回的多个对象列表。
    • a = [1, 2, 3, 4, 5, 6]
  • Tuple(元组):有序、不可变,适合存储固定不变的数据,如固定的请求头信息。
    • tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2  )
  • Set(集合):无序、不重复,用于需要确保元素唯一性的场景,比如检查接口返回数据中是否有重复值。
    • sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'}

      print(sites)   # 输出集合,重复的元素被自动去掉
  • Dictionary(字典):无序的键值对,便于通过键快速查找对应的值,常用于处理请求参数和解析响应数据。
    • data = {
              "username": "test_user",
              "password": "test_password"
          }

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词