Python學習-day8 元組tuple

元組(Tuple)是Python中一種不可變的序列類型,用于存儲多個有序元素。與列表(List)類似,但元組一旦創建后不能修改(不可添加、刪除或修改元素),這使得它在安全性、性能優化和特定場景(如字典鍵)中具有獨特優勢。

創建元組

創建空元組

# 空元組
tuple_data = () 
print(f"tuple_data = {tuple_data}")

tuple_data = ()

創建非空元組,數據類型統一

# 非空元組
tuple_data = (1,2,3,6,9,4) 
print(f"tuple_data = {tuple_data}")

tuple_data = (1, 2, 3, 6, 9, 4)

創建非空元組,數據類型不統一

# 非空元組
tuple_data = (1,2,3,"小明","phyton") 
print(f"tuple_data = {tuple_data}")

tuple_data = (1, 2, 3, ‘小明’, ‘phyton’)

元組中只包含一個元素時,需要在元素后面添加逗號 , ,否則括號會被當作運算符使用。

tuple_data = (36) 
print(f"tuple_data = {tuple_data}")tuple_data2 = (36,)
print(f"tuple_data2 = {tuple_data2}")

tuple_data = 36
tuple_data = (36,)

訪問元組元素

元組可以使用下標索引來訪問元組中指定位置的元素,既可以正向訪問,也可以反向訪問。

正向讀取,索引從0 ~ n-1,up[0](第一個元素)。

tuple_data = (1,2,3,"小明","phyton") 
result = tuple_data[0] # 使用索引訪問元素
print(f"tuple_data = {tuple_data}\ntuple_data[0] = {result}")

tuple_data = (1, 2, 3, ‘小明’, ‘phyton’)
tuple_data[0] = 1

反向讀取,索引從-1 ~ -n,tup[-1](最后一個元素)。

tuple_data = (1,2,3,"小明","phyton") 
result = tuple_data[-2] # 使用索引訪問元素
print(f"tuple_data = {tuple_data}\ntuple_data[0] = {result}")

tuple_data = (1, 2, 3, ‘小明’, ‘phyton’)
tuple_data[0] = 小明

切片,即使用索引,也可以截取索引中的一段元素,以獲取新元組,或反轉元組,如tup[1:3](索引1到2的元素,返回新元組),tup[::-1](反轉元組)。

tuple_data = (1,2,3,"小明","phyton") 
result = tuple_data[1:4] # 使用索引訪問元素,生成新數組
print(f"tuple_data = {tuple_data}\ntuple_data[0] = {result}")

tuple_data = (1, 2, 3, ‘小明’, ‘phyton’)
tuple_data[0] = (2, 3, ‘小明’)

tuple_data = (1,2,3,"小明","phyton") 
result = tuple_data[::-1] # 反轉元組
print(f"tuple_data = {tuple_data}\ntuple_data[0] = {result}")

tuple_data = (1, 2, 3, ‘小明’, ‘phyton’)
tuple_data[0] = (‘phyton’, ‘小明’, 3, 2, 1)

遍歷,支持for循環直接遍歷元素。

tuple_data = (1,2,3,"小明","phyton") 
print(f"tuple_data = {tuple_data}\n")
for i in tuple_data:print(i)

tuple_data = (1, 2, 3, ‘小明’, ‘phyton’)

1
2
3
小明
phyton

修改元組

組中的元素值是不允許修改的,但可以使用”+“對元組進行連接組合

tuple_data = (1,2,3,"小明","phyton")
tuple_data2 = (36,)
result = tuple_data + tuple_data2
print(f"tuple_data = {tuple_data} \n tuple_data2 = {tuple_data2} \n tuple_data + tuple_data2 = {result}")

tuple_data = (1, 2, 3, ‘小明’, ‘phyton’)
tuple_data2 = (36,)
tuple_data + tuple_data2 = (1, 2, 3, ‘小明’, ‘phyton’, 36)

刪除元組

元組中的元素值是不允許刪除的,但我們可以使用"del"語句來刪除整個元組。

tuple_data = (1,2,3,"小明","phyton")
print(f"tuple_data = {tuple_data}\n")del tuple_data
print(f"tuple_data = {tuple_data}") # 元組被刪除后,輸出變量會有異常信息

tuple_data = (1, 2, 3, ‘小明’, ‘phyton’)

Traceback (most recent call last):
File “.code.tio”, line 4, in
print(f"tuple_data = {tuple_data}")
NameError: name ‘tuple_data’ is not defined

元組運算符

使用 len(tuple) 方法,計算元組元素個數

tuple_data = (1,2,3,"小明","phyton")
result = len(tuple_data)
print(f"tuple_data = {tuple_data}\n元素數量:{result}")

tuple_data = (1, 2, 3, ‘小明’, ‘phyton’)
元素數量:5

使用 tuple* n 方法,復制元組

注:n為整數

tuple_data = (1,2,3,"小明","phyton")
result = tuple_data * 2
print(f"tuple_data = {tuple_data}\n復制元組:{result}")

tuple_data = (1, 2, 3, ‘小明’, ‘phyton’)
復制元組:(1, 2, 3, ‘小明’, ‘phyton’, 1, 2, 3, ‘小明’, ‘phyton’)

檢查元素是否存在

使用in方法,判斷元素是否存在于元組

tuple_data = (1,2,3,"小明","phyton")
result = 10 in tuple_data
print(f"tuple_data = {tuple_data}\n10是否存在:{result}")

tuple_data = (1, 2, 3, ‘小明’, ‘phyton’)
10是否存在:False

使用not in方法,判斷元素是否不存在于元繃

tuple_data = (1,2,3,"小明","phyton")
result = 10 not in tuple_data
print(f"tuple_data = {tuple_data}\n10是否不存在:{result}")

tuple_data = (1, 2, 3, ‘小明’, ‘phyton’)
10是否不存在:True

使用 count(元素) 方法,統計元素在元組中出現的次數

tuple_data = (1,2,3,99,1)
result = tuple_data.count(1)
print(f"tuple_data = {tuple_data}\n元素1出現次數:{result}")

tuple_data = (1, 2, 3, 99, 1)
元素1出現次數:2

使用 max(元組) 方法,返回元組中最大值

注:數據類型保持一致。

tuple_data = (1,2,3,99,-10)
result = max(tuple_data)
print(f"tuple_data = {tuple_data}\n最大值:{result}")

tuple_data = (1, 2, 3, 99, -10)
最大值:99

使用 min(元組) 方法,返回元組中最小值

注:數據類型保持一致。

tuple_data = (1,2,3,99,-10)
result = min(tuple_data)
print(f"tuple_data = {tuple_data}\n最小值:{result}")

tuple_data = (1, 2, 3, 99, -10)
最小值:-10

使用 tuple(列表) 方法,將列表轉元組

list_data = [1,2,3,99,-10]
result = tuple(list_data)
print(f"list_data = {list_data}\n列表轉元組:{result}")

list_data = [1, 2, 3, 99, -10]
列表轉元組:(1, 2, 3, 99, -10)

使用 index(x) 方法,返回第一個x元素的索引(不存在時拋出ValueError)。

tuple_data = (1,2,3,99,1)
result = tuple_data.index(2)
print(f"tuple_data = {tuple_data}\n元素2出現位置:{result}")

tuple_data = (1, 2, 3, 99, 1)
元素2出現位置:1

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

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

相關文章

大數據畢業設計選題推薦-基于大數據的國家醫用消耗選品采集數據可視化分析系統-Hadoop-Spark-數據可視化-BigData

?作者主頁:IT畢設夢工廠? 個人簡介:曾從事計算機專業培訓教學,擅長Java、Python、PHP、.NET、Node.js、GO、微信小程序、安卓Android等項目實戰。接項目定制開發、代碼講解、答辯教學、文檔編寫、降重等。 ?文末獲取源碼? 精彩專欄推薦?…

二次學習C語言補充2

文章目錄表棧、隊列、二叉樹一、二叉樹二、表棧三、隊列鏈表一、單向鏈表二、循環鏈表、雙向鏈表和雙向循環鏈表預處理一、預處理二、宏定義文件文件操作補充本篇文章是對二次學習C語言12——文件操作 二次學習C語言14——預處理及模塊化 二次學習C語言15——鏈表 二次學習C語言…

2.9Vue創建項目(組件)的補充

1.再創建和引入vue的選擇2.VsCode插件 安裝Vue自己搜索最新的3.style自己的作用域在一個組件中引入另一個文件的子組件,給當前組件設置樣式,那么子組件的樣式也會改變的。為了解決這個問題 我們在自己的style中設置一個屬性4.另一種創建vue 的方式(主流…

算法高頻題

刷題:LeetCode(Top 100-150題,至少刷兩遍)。重點:鏈表、樹、二分查找、動態規劃、回溯、棧/隊列。 每一個題型,前10個高頻題 算法思考框架參考:算法題思維框架-CSDN博客 高頻順序參考網站&…

服務器安裝 LDOPE(MODIS 數據處理工具)

目錄下載方式1-(簡單快捷)根據WRF-VPRM 需要打補丁下載方式2:(手動安裝依賴)一、安裝所需依賴庫(4 個主庫 2 個基礎庫)另- HDF-EOS 手動編譯二、解壓并安裝 LDOPE參考下載方式1-(簡…

克隆代幣 + 捆綁開盤:多鏈環境下的低成本發幣玩法

在加密世界,發幣已經不再是“少數開發者的專利”。隨著工具的普及,任何人都可以快速發行一個在加密世界,發幣已經不再是“少數開發者的專利”。隨著工具的普及,任何人都可以快速發行一個代幣。但問題是:如何在保證低成…

數據結構中的 二叉樹

1.前言 在 Java 中,樹(Tree)是一種非線性數據結構,由節點(Node)組成,常見的線性表則是我們之前學過的順序表、鏈表、棧、隊列等等。每個節點包含數據和指向子節點的引用。樹的常見實現方式包括二…

IntelliJ IDEA 啟動項目時配置端口指南

🌟 一、為什么需要手動設置啟動端口? 默認情況下,Spring Boot 應用會使用 8080 端口啟動。但在以下場景中,我們必須自定義端口: 多個微服務同時運行,需避免端口沖突;團隊協作開發,統…

spark sql之from_json函數

目錄前言函數語法參數說明返回值案例案例1案例2前言 在Spark SQL中,from_json函數用于解析包含JSON字符串的列,并將其轉換為Spark SQL的結構化類型(如struct、map或array) 函數語法 from_json(jsonStr, schema [, options])參數…

數據結構 之 【位圖的簡介】

目錄 1.位圖的引入 2.位圖概念 3.位圖的實現 3.1前提準備 3.2set 3.3reset 3.4test 4.位圖的應用 1.位圖的引入 給40億個不重復的無符號整數,沒排過序 再給一個無符號整數,如何快速判斷這個無符號整數是否在 這40億個數中 首先,一個…

[iOS] ViewController 的生命周期

文章目錄前言一、UIViewController 生命周期有關函數二、UIViewController 中函數的執行順序運行結果1.present和dismiss2.push和pop三、總結前言 UIViewController 是在 iOS 開發中一個非常重要的角色,他是 view 和 model 的橋梁,通過 UIViewControlle…

第30章 零售與電商AI應用

本章將深入探討人工智能在零售與電商領域的革命性應用。我們將從智能推薦系統、動態定價、庫存管理到創新的虛擬試衣間,全面解析AI如何重塑購物體驗和商業運營效率,并為每個關鍵技術點提供代碼實戰,幫助你掌握將AI應用于真實商業場景的能力。…

QT通過QModbusRtuSerialMaster讀寫電子秤數據實例

一、電子稱常用功能:稱重、清零、去皮;電子秤的通訊方式:Modbus通信、串口通信。二、QT讀寫電子秤軟件界面如下:三、核心代碼如下:.pro項目文件代碼:QT core gui serialbus serialport.h頭文件代碼#…

sqlmap常用命令

ZZHow(ZZHow1024) 一、掃描注入點 1.GET方法,給URL: #探測該url是否存在漏洞 python sqlmap.py -u "http://192.168.10.1/sqli/Less-1/?id1"#如果我們已經知道admin這里是注入點的話,可以在其后面加個*來讓sqlmap對其注入 python …

JVM如何排查OOM

當JVM(Java虛擬機)出現OOM(OutOfMemoryError)時,可以按照以下步驟和方法,用于幫助定位和解決JVM中的OOM問題1.查看異常堆棧信息查看異常堆棧信息(StackTrace)是定位問題的關鍵。OOM異…

存算一體芯片生態評估:從三星PIM到知存科技WTM2101

點擊 “AladdinEdu,同學們用得起的【H卡】算力平臺”,注冊即送-H卡級別算力,80G大顯存,按量計費,靈活彈性,頂級配置,學生更享專屬優惠。 引言:存算一體技術的崛起與意義 在傳統馮諾…

[數據結構] 棧 · Stack

一.棧 stack 1.概念 棧 : 一種特殊的線性表 , 其只允許再固定的一段進行插入和刪除元素操作 進行數據插入和刪除操作的一段稱為 棧頂 ; 另一端稱為棧底棧中的數據元素遵循 先進后出 原則(LIFO)壓棧 : 棧的插入操作叫做 進棧 或 壓棧 或 入棧 , 入數據在棧頂出棧 : 棧的刪除…

MySQL執行過程中如何選擇最佳的執行路徑

本篇文章介紹一個非常核心的數據庫問題。MySQL 選擇最佳執行路徑(即“查詢優化”)的過程是由其查詢優化器(Query Optimizer) 完成的。 簡單來說,優化器的目標是:在多種可能的執行方案中,選擇一個…

【設計模式】從游戲角度開始了解設計模式 --- 抽象工廠模式

永遠記住,你的存在是有意義的, 你很重要, 你是被愛著的, 而且你為這個世界帶來了無可取代的東西。 -- 麥克西 《男孩、鼴鼠、狐貍和馬》-- 從零開始了解設計模式抽象工廠模式抽象工廠模式 今天我們一起來探究抽象工廠模式&#x…

tensorflow.js 使用場景

TensorFlow.js (簡稱 TF.js) 是一個利用 WebGL 和 Node.js 在瀏覽器和服務器端進行機器學習模型訓練和部署(推理)的 JavaScript 庫。它的核心價值在于將機器學習的能力帶入了 Web 開發者和 JavaScript 生態的領域。 其主要應用場景可以分為以下幾大類: 一、在瀏覽器中直接進…