Python從入門到高手8.2節-元組的常用操作符

目錄

?8.2.1 元組的常用操作符

8.2.2 []操作符: 索引訪問元組

8.2.3 ?[:]操作符:元組的切片

8.2.4 +操作符:元組的加法

8.2.5 ?*操作符:元組的乘法

8.2.6 元組的關系運算

8.2.7 ?in操作符:查找元素

8.2.8?五一她玩了個狗吃屎


?8.2.1 元組的常用操作符

元組類型是一種抽象數據類型,抽象數據類型定義了數據類型的操作方法,在本節的內容中,著重介紹通過操作符來對元組進行操作。

image.png

元組類型常用的操作符如下表所示:

image.png

8.2.2 []操作符: 索引訪問元組

元組類型也是一種線性的序列結構,同字符串一樣,可以通過索引來訪問元組中的元素。操作語法:

element = tuple[index]

元組與字符串均為不可變的數據類型,只能通過索引來讀取字符,不能對字符進行修改。而列表可變,可以通過索引來對元素進行修改。

Python中的索引分為正索引和負索引。正索引從0開始進行編號,表示數據集合中的第一個元素。負索引從-1開始編號,表示數據集合中的倒數第一個元素。正負索引值必須在有效的范圍之內,否則會拋出越界訪問的錯誤信息。

代碼實例:

# __desc__ = 通過索引來訪問元組中的元素numbers = (1,2,3,4)# 1.讀取元組中的第一個元素
first_number = numbers[0]# 2.讀取元組中的最后一個元素
last_number = numbers[-1]

8.2.3 ?[:]操作符:元組的切片

元組的切邊操作同字符串的切片操作。對元組執行切片操作以后,返回的是一個新的元組。

操作語法:

new_tuple = tuple[:]

代碼實例:

# __desc__ = 對元組執行切片操作# 定義元組類型變量
numbers = (1,2,3,4)container = numbers[0:2]
# container的輸出為(1,2)container = numbers[:2]
# container的輸出為(1,2)container = numbers[2:]
# container的輸出為(3,4)container = numbers[-3:-1]
# container的輸出為(2,3)

8.2.4 +操作符:元組的加法

元組的加法是把兩個元組中的元素合并到一個新的元組中。

操作語法:

new_tuple = tuple0 + tuple1

代碼實例:

# __desc__ = 對元組執行加法操作# 定義變量negative_numbers表示負數
negative_numbers = (-1,-2,-3,-4)# 定義變量 positive_numbers表示正數
positive_numbers = (1,2,3,4)# 定義變量 natural_numbers表示自然數
natural_numbers =  negative_numbers + positive_numbers
# natural_numbers的輸出為(-1,-2,-3,-4,1,2,3,4)

8.2.5 ?*操作符:元組的乘法

"*" 操作符用來對元組進行復制,返回一個新的列表。

操作語法:

new_tuple = tuple * number

讀者需注意,number必須為整型數字。

代碼實例:

# __desc__ = 對元組執行乘法操作numbers = (-1,-2,-3)
new_numbers = numbers * 2# new_numbers的輸出為(-1,-2,-3, -1,-2,-3)# *號后的整型值小于等于0時,輸出空元組
empty = numbers * 0
# empty為空元組

8.2.6 元組的關系運算

使用關系運算符來對元組進行關系運算,返回的結果為布爾類型。元組的關系運算同列表的關系運算。

操作語法:

boolean = tuple0 > tuple1

代碼實例:

# __desc__ = 對元組執行關系運算left = (1,3,99)
right = (2,)result = left > right
# result的輸出為False

元組的關系運算是按序進行比較的,這里的按序比較是從元組的第一個元素開始,逐元素進行比較。只有在元素值相同,順序也相同的情況下,兩個元組才相等,否則以元素先后的大小關系來確定元組的大小關系。

例如在上文的代碼中,雖然列表right只有一個元素,但是right中的首元素大于列表left中的第一個元素。這時Python會直接判定元組right大于元組left,即使元組left后面的元素都比元組right中的元素大。

我們現在來寫一個算法,判斷兩個元組的大小關系:

# __desc__ = 通過while循環來判斷元組是否相等left = (3,3,3,3,99,3)
right = (3,3,3,3,3,109)# 執行全局的len方法來獲取復合數據類型的元素數
length_of_left = len(left)
length_of_right = len(right)length = length_of_left if length_of_left < length_of_right else length_of_right
index = 0'''
定義is_equal變量,如果值為True表示相等,
如果為False,則表示不相等
'''
is_equal = True# 以最小的元組長度來進行遍歷
# 這樣可以避免訪問越界
while index < length:if left[index] != right[index]:is_equal = Falsebreakelif left[index] < right[index]:is_equal = Falsebreak index += 1
else:# 如果正常退出while循環,說明在最小長度內,元組的元素都相等is_equal = False if length_of_left != length_of_right else True

8.2.7 ?in操作符:查找元素

使用 "in" 操作符來判斷元素是否存在于元組中,若存在則返回True,否則返回False。

操作語法:

boolean = element in tuple

當需要在代碼中表示是否不存在時,需通過邏輯非運算符:

boolean = element not in tuple

代碼實例:

# __desc__ = 通過in操作符來執行元素查找natural_numbers = (1,2,3,4,5,6,7,8,9)
number = 99if number in natural_numbers:# 如果number存在與列表中,那么表達的輸出為Trueprint("{} in numbers:{}".format(number, numbers))
else:print("there is no {} in numbers {}".format(number, numbers))

博主正在CSDN寫一套Python高級爬蟲+JS逆向+安卓逆向的教程:

高級爬蟲+安卓逆向,手把手教你成為一流的爬蟲高手https://blog.csdn.net/thereisadownloader/category_12930002.html

8.2.8?五一她玩了個狗吃屎

跟薯條老師學后端開發,高級爬蟲(JS逆向+安卓逆向),數據分析,大數據開發,量化交易,以及機器學習+深度學習算法。堅定自己的學習目標,保持學習的熱情,那你成為高手只是時間問題。

薯條老師的學生在南方電網,林氏家居,京東,阿里等大廠。想系統學習Python和Java的同學,可以移步薯條老師的個人技術博客:薯條老師的個人技術博客http://www.chipscoco.com/?對本節教程有任何不懂的同學,亦可在評論區中進行評論。薯條老師會詳細解答你們提出的每一個問題。

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

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

相關文章

Vue3源碼學習4-effect中為什么使用WeakMap,Set?

文章目錄 前言1. 精細化依賴追蹤2. 高效的依賴收集與觸發3. 自動內存管理&#xff0c;防止內存泄漏4. 支持復雜場景 前言 在 mini vue - effect 實現中 設計&#xff08;WeakMap → Map → Set → effect函數&#xff09;有以下幾個重要原因&#xff1a; 1. 精細化依賴追蹤 W…

TinyML 邊緣智能:在資源受限 MCU 上部署 AI

前言 在物聯網(IoT)和智能邊緣計算的時代浪潮下,TinyML(微型機器學習)正以前所未有的速度改變著我們與設備交互的方式。它將 AI 推理能力放在資源極度受限的 MCU(微控制器)上,兼顧實時性、低功耗和數據隱私,成為智能家居、可穿戴設備、工業檢測等場景的核心技術。盡管…

技術白皮書:Oracle GoldenGate 優勢

本文為技術白皮書Oracle GoldenGate 優勢的翻譯及閱讀筆記。以下注釋中GoldenGate為OGG。 副標題為&#xff1a;Oracle 數據庫的變更數據捕獲 (CDC) 技術比較。版本為July, 2021, Version 2.1。 Oracle GoldenGate 被客戶和分析師公認為功能最齊全、性能最高、最值得信賴的數…

Android控件VideoView用法

一 控件UI <VideoViewandroid:id="@+id/videoView"android:layout_width="match_parent"android:layout_height="match_parent"android:scaleType="fitCenter" /> 二 配置 <?xml version="1.0" encoding="u…

React 第三十六節 Router 中 useParams 的具體使用及詳細介紹

一、useParams 的基本用法 用途&#xff1a;用于在組件中獲取當前 URL 的動態路由參數&#xff08;如 /user/:id 中的 id&#xff09;。 import { Routes, Route, useParams } from react-router-dom;// 定義路由 function App() {return (<Routes><Route path"…

C++戰勝白蟻 2024年信息素養大賽復賽 C++小學/初中組 算法創意實踐挑戰賽 真題詳細解析

目錄 C++戰勝白蟻 一、題目要求 1、編程實現 2、輸入輸出 二、算法分析 三、程序編寫 四、運行結果 五、考點分析 六、 推薦資料 1、C++資料 2、Scratch資料 3、Python資料 C++戰勝白蟻 2024年信息素養大賽 C++復賽真題 一、題目要求 1、編程實現 小明因為很長…

Linux網絡編程 day4

inet_pton&#xff1a;IP 字符串 → 網絡字節序地址 ntohl&#xff1a;網絡字節序 → 主機字節序 TCP狀態轉換圖(重點) 可以通過下面這行代碼查看目前網絡狀態 netstat -apn | grep client 1、主動發起請求端 close-->SYN-->SYN_SENT-->接收ACK、SYN-->SYN_SEN…

基于springboot+vue的個人財務管理系統

開發語言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服務器&#xff1a;tomcat7數據庫&#xff1a;mysql 5.7數據庫工具&#xff1a;Navicat12開發軟件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;Maven3.3.9 系統展示 用戶信息管理 賬…

ffmpeg 元數據-avformatcontext字段 AVDictionary *metadata;

ffmpeg 元數據 1. 解釋什么是ffmpeg元數據 ffmpeg元數據是指與音視頻文件相關的附加信息&#xff0c;這些信息不直接影響音視頻內容的播放&#xff0c;但提供了關于文件內容、創作者、版權、播放參數等的有用信息。元數據在音視頻文件的處理、管理和共享中起著重要作用。 2.…

55.[前端開發-前端工程化]Day02-包管理工具npm等

包管理工具詳解 npm、yarn、cnpm、npx、pnpm 1 npm包管理工具 代碼共享方案 包管理工具npm 2 package配置文件 npm的配置文件 方式二 常見的配置文件 常見的屬性 常見的屬性 常見的屬性 依賴的版本管理 常見屬性 npm install 命令 項目安裝 3 npm install原理 npm instal…

Spring MVC @RequestBody 注解怎么用?接收什么格式的數據?

RequestBody 注解的作用 RequestBody 將方法上的參數綁定到 HTTP 請求的 Body&#xff08;請求體&#xff09;的內容上。 當客戶端發送一個包含數據的請求體&#xff08;通常在 POST, PUT, PATCH 請求中&#xff09;時&#xff0c;RequestBody 告訴 Spring MVC 讀取這個請求體…

海外平臺短劇批量混剪自動剪輯智能去重與多語言適配方案解析

一、引言&#xff1a;全球化內容分發的技術挑戰 在短劇出海的浪潮中&#xff0c;如何通過標準化技術流程實現「高效生產 合規分發」成為行業關鍵課題。本文結合 TikTok、YouTube 等平臺的運營經驗&#xff0c;解析基于智能去重算法、多語言字幕生成、動態元素疊加的全流程解決…

stm32 hal庫 SPI使用(二)硬件SPI的HAL庫函數調用

使用硬件SPI1&#xff0c;開啟DMA&#xff0c;軟件NSS。 1.使用硬件spi后&#xff0c;spi.c文件里會自動生成SPI_HandleTypeDef hspi1句柄&#xff0c;并且在main.c中自動使用MX_SPI1_Init&#xff08;&#xff09;函數對hsp1句柄賦值和SPI初始化 void MX_SPI1_Init(void) {h…

ES類的索引輪換

通過以下請求方法創建一個名為 “tiered-storage-policy” 的 ISM policy&#xff1a; PUT _plugins/_ism/policies/tiered-storage-policy {"policy": {"description": "Changes replica count and deletes.","schema_version": 1,…

51LA使用方法與悟空統計,網站數據分析的雙重選擇

在網站運營與數據分析領域&#xff0c;51LA作為國內較早的流量統計工具&#xff0c;曾為許多用戶提供基礎的訪問數據監測服務。然而&#xff0c;隨著技術的發展和用戶需求的升級&#xff0c;越來越多的企業開始尋求功能更全面、體驗更優的統計工具。小編今天將給大家介紹一款更…

go語言實現用戶管理系統

goweb實現用戶管理系統 用戶后臺管理系統功能描述 登錄功能 支持用戶通過郵箱密碼和密碼進行登錄。對輸入的郵箱和密碼進行驗證&#xff0c;確保用戶信息的正確性。登錄成功后&#xff0c;更新用戶的今日登錄統計信息&#xff0c;并將用戶信息存入會話&#xff08;cookie&am…

Elasticsearch:RAG 和 grounding 的價值

作者&#xff1a;來自 Elastic Toms Mura 了解 RAG、grounding&#xff0c;以及如何通過將 LLM 連接到你的文檔來減少幻覺。 更多閱讀&#xff1a;Elasticsearch&#xff1a;在 Elastic 中玩轉 DeepSeek R1 來實現 RAG 應用 想獲得 Elastic 認證嗎&#xff1f;查看下一期 Elast…

【黑馬JavaWeb+AI知識梳理】后端Web基礎01 - Maven

Maven Maven核心 Maven概述 定義&#xff1a; Maven是一款用于管理和構建Java項目的工具&#xff0c;是apache旗下的一個開源項目&#xff0c;基于項目對象模型&#xff08;POM&#xff0c;project object model&#xff09;的概念&#xff0c;通過一小段描述信息來管理項目的…

C語言易混淆知識點詳解

C語言中容易混淆的知識點詳解 C語言作為一門基礎且強大的編程語言&#xff0c;有許多容易混淆的概念和特性。以下是C語言中一些常見易混淆知識點的詳細解析&#xff1a; 1. 指針與數組 相似點&#xff1a; c 復制 下載 int arr[10]; int *ptr arr; 都可以使用[]運算符訪…

MCP原理詳解及實戰案例(動嘴出UI稿、3D建模)

文章目錄 MCP 原理介紹架構核心組件協議層傳輸層連接生命周期MCP與function calling: 互補關系 MCP python SDKMCP的優點 怎么用MCP&#xff1a;天氣服務參考應用項目&#xff1a; REF 24年11月份&#xff0c;claude推出了模型上下文協議( MCP),作為一種潛在的解決方案&#xf…