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"
      ? ? }

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/84988.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84988.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84988.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

UVa12298 3KP-BASH Project

UVa12298 3KP-BASH Project 題目鏈接題意輸入格式輸出格式 分析AC 代碼 題目鏈接 UVa12298 3KP-BASH Project 題意 摘自 《算法競賽入門經典:訓練指南》劉汝佳,陳鋒著。有刪改。 你的任務是為一個假想的 3KP 操作系統編寫一個簡單的 Bash 模擬器。由于操…

云打包生成的ipa上傳構建版本經驗分享

在上架ios應用,在蘋果開發者中心操作的時候,需要提供一個構建版本,如下圖所示: 點擊藍色加號,添加構建版本,但是點擊藍色加號后,并沒有構建版本可以選。 原因是需要下載下面它推薦的工具來上傳…

ESP32的spi通訊(Arduino)

目錄 一.基本配置 1.esp32-wroom-32引腳圖 2.接線方式 3.Arduino芯片選擇和庫文件 3.1Arduino配置(2.0.11) 3.2 下載ESP32SPISlave庫(0.6.8)文件 二、代碼編寫 1.主機代碼 2.從機代碼 3.注意事項 三、運行效果 一.基本…

Spring-rabbit重試消費源碼分析

在集成RabbitMQ與Spring Boot 3.1.x時,RetryOperationsInterceptor 是實現消息重試機制的關鍵組件。這里將深入分析 RetryOperationsInterceptor 的工作原理,尤其是在消費者消費失敗時的行為,并結合底層源碼進行詳解。 一、配置解析 首先&a…

如何使用JacksonTypeHandler處理mysql json字符串轉List對象的問題

在使用mysql5.7或更高版本時&#xff0c;json類型字段應用場景越來越多&#xff0c;對于普通的對象或者List<Integer>、List<String>這些基礎類型&#xff0c;jacksonTypeHandler都能很好的處理&#xff0c;如下&#xff1a; 1、定義一個person對象 import com.f…

華為云Flexus+DeepSeek征文 | 基于Dify構建股票分析助手

華為云FlexusDeepSeek征文 | 基于Dify構建AI 圖片生成應用 一、構建股票分析助手前言二、構建股票分析助手環境2.1 基于FlexusX實例的Dify平臺2.2 基于MaaS的模型API商用服務 三、構建股票分析助手實戰3.1 配置Dify環境3.2 配置Dify工具3.3 創建股票分析助手3.4 使用股票分析助…

【0.1 漫畫計算機組成原理】

??? 漫畫計算機組成原理 ?? 學習目標:深入理解計算機硬件基礎,為后續Java編程和性能優化打下堅實基礎 ?? 目錄 CPU架構與指令集內存層次結構馮諾依曼架構與哈佛架構總線系統與IO設備計算機性能分析實際應用場景?? 漫畫引言 小明: “為什么我的Java程序有時候跑得飛…

pytorch 實戰二 CNN手寫數字識別

系列文章目錄 文章目錄 系列文章目錄前言一、torchvision.datasets1. 數據下載2. 數據分批次傳入 二、網絡1. 網絡搭建2. 訓練3.測試 完整代碼三、保存模型與推理&#xff08;inference&#xff09;模型保存推理鳴謝 前言 手寫數字識別&#xff0c;就是要根據手寫的數字0~9&…

[Godot] C#讀取CSV表格創建雙層字典實現本地化

最近研究了一下本地化&#xff0c;給大家用簡單易懂的方式說明我是怎么實現的&#xff0c;使用CSV表格填寫翻譯&#xff0c;然后在Godot中讀取為字典 表格填寫 首先&#xff0c;我們表格可以按照下面這種格式填寫 idzhenjaruesdefrapple蘋果appleリンゴяблокоmanzanaA…

Spark 之 Subquery

各類 Subquery src/main/scala/org/apache/spark/sql/catalyst/expressions/predicates.scala /*** Evaluates to `true` if `values` are returned in `query`s result set.*/ case class InSubquery(values: Seq[Expression], query: ListQuery)extends Predicate with Une…

3.1.3_棧的鏈式存儲實現

知識總覽&#xff1a; 鏈棧定義&#xff1a; 頭插法建立單鏈表&#xff1a; 每次要插入一個元素的時候&#xff0c;總是把該元素插在頭節點之后的位置&#xff0c;如果規定只能在單鏈表的鏈頭一端進行操作即為進棧操作 每次刪除一個元素的時候&#xff0c;規定只能在單鏈表…

華為OD機試_2025 B卷_字符串重新排列(Python,100分)(附詳細解題思路)

題目描述 給定一個字符串s&#xff0c;s包括以空格分隔的若干個單詞&#xff0c;請對s進行如下處理后輸出&#xff1a; 1、單詞內部調整&#xff1a;對每個單詞字母重新按字典序排序 2、單詞間順序調整&#xff1a; 1&#xff09;統計每個單詞出現的次數&#xff0c;并按次數降…

http的緩存問題

一句話概括&#xff1a;瀏覽器請求資源的時候&#xff0c;會首先檢查本地是否有緩存&#xff0c;減少向服務器請求的次數 一、緩存類型&#xff1a; 1. 強緩存&#xff08;本地緩存&#xff09;&#xff1a;直接讀本地&#xff0c;不發請求 控制方式&#xff1a; ① Cache-C…

【網絡安全】SRC漏洞挖掘思路/手法分享

文章目錄 Tip1Tip2Tip3Tip4Tip5Tip6Tip7Tip8Tip9Tip10Tip11Tip12Tip13Tip14Tip15Tip16Tip17Tip18Tip19Tip20Tip21Tip22Tip23Tip24Tip25Tip26Tip27Tip28Tip29Tip30Tip1 “復制該主機所有 URL”:包含該主機上的所有接口等資源。 “復制此主機里的鏈接”:包括該主機加載的第三…

「Linux中Shell命令」Shell常見命令

知識點及案例解析 1. who 命令 功能:顯示當前登錄系統的用戶信息,包括用戶名、終端、登錄時間、IP等。 案例: who輸出示例: root tty1 2025-06-13 19:42 root pts/0 2025-06-13 19:45 (192.168.226.1)解析: 顯示兩個用戶登錄信息: 第一列(用…

StampedLock入門教程

文章目錄 一、理解“戳” (Stamp)二、為什么 StampedLock 能提高讀性能&#xff1f;秘密在于“樂觀讀”StampedLock性能對比性能對比結果圖 總結 StampedLock完整演示代碼對代碼的疑問之處問題一&#xff1a;為什么 demonstrateOptimisticReadFailure 中寫線程能修改成功&#…

基于云計算的振動弦分析:諧波可視化與波動方程參數理解-AI云計算數值分析和代碼驗證

振動弦方程是一個基礎的偏微分方程&#xff0c;它描述了彈性弦的橫向振動。其應用范圍廣泛&#xff0c;不僅可用于模擬樂器和一般的波動現象&#xff0c;更是數學物理以及深奧的弦理論中的重要基石。 ??AI云計算數值分析和代碼驗證 振動弦方程是描述固定兩端彈性弦橫向振動的…

Qt .pro配置gcc相關命令(三):-W1、-L、-rpath和-rpath-link

目錄 1.Linux 動態庫相關知識 1.1.動態庫查找路徑 1.2.查看程序依賴的動態庫 1.3.修改動態庫查找路徑的方法 1.4.動態鏈接器緩存管理 2.-Wl參數 3.-L選項&#xff08;編譯時路徑&#xff09; 4.-rpath參數(運行時路徑) 5.-rpath-link 參數 6.常見問題與解決方案 7.總…

Hoppscotch

官方地址 xixiaxiazxiaxix下載 ? Hoppscotch Hoppscotch 是一款輕量級、基于 Web 的 API 開發套件&#xff0c;其核心功能和特點如下&#xff1a; 核心功能3 交互式 API 測試&#xff1a;允許用戶實時發送請求并查看響應&#xff0c;方便記錄 API 行為&#xff0c;在記錄響…

RabbitMQ 知識詳解(Java版)

RabbitMQ 知識詳解&#xff08;Java版&#xff09; RabbitMQ 是一個開源的消息代理&#xff0c;實現了高級消息隊列協議&#xff08;AMQP&#xff09;。它用于在分布式系統中實現應用解耦、異步通信和流量削峰。 核心概念 生產者(Producer)&#xff1a;發送消息的應用消費者(…