列表、元組、字典和集合


一、for循環遍歷列表、元組、字典和集合

1.遍歷列表

testList = [1,2,3,4,4]
for items in testList:
    print(items,end='-')

2.遍歷元組

testTuple = (4,4,1,1,1)
for items in testTuple:
    print(items,end='-')

3.遍歷字典

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': '[email protected]',
    '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 接口自動化數據結構(如列表、字典、元組)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章