python元組學習(python元組操作方法)

本文目錄一覽:

python什麼是元組?

Python 的元組與列表類似,不同之處在於元組的元素不能修改。

元組使用小括弧定義,列表使用方括弧定義。

例如:

tup1 = (‘physics’, ‘chemistry’, 1997, 2000)

tup2 = (1, 2, 3, 4, 5 )

元組與列表類似,下標索引從0開始,使用下標來訪問數據。但元祖中,元素值是不允許修改的。

Python中的元組(Tuple)

在Python中,元組(Tuple)與列表(List)類似,也是一個有序的序列,但元組是一個不可變對象,其一旦初始化後便無法進行修改。

一般在創建元組時,分為創建空元組和非空元組,其創建方式如下:

從上面可以看到,我們只需要把元組的所有元素放在 小括弧 () 裡面,每個元素之間通過 逗號 , 間隔起來即可,當然和列表一樣,元組中同樣允許存放不同數據類型的元素。

元組中使用的 () 是常見的數學運算符,如果參考列表的創建,如下:

從上面可以看到,我們創建出來的壓根就不是元組類型。那麼我們想創建一個只包含一個元素的元組時,需要怎麼創建呢?

很簡單,只需要在元素後加上一個 逗號 , ,這樣創建出來就是一個元組。

當我們需要訪問元組中的元素,可以類似列表一樣通過索引取值或切片取值。

如果訪問的索引不存在,那麼會報錯: IndexError: tuple index out of range

在元組中,可以像列表一樣使用切片,語法為: 元組[start:end:step] ,通過切片可以獲取到元組中指定範圍的元素,返回結果是一個新元組。在這裡,需要注意切片的規則是左閉右開,也就是說包含頭部 start,但不包含尾部 end ,而 step 則表示切片的步長,需要每間隔 step 個元素取一次。

在上面我們提到了元組是不可變的,這就意味著我們創建一個元組之後,不能再去改變其值了,比如下面這樣就會出現報錯:

假設元組中存在元素是一個可變對象,如果我們不改變元組,但改變了可變對象的值,又會得到怎麼的結果呢?請看下面實例:

從上面可以看到,元組中的第 2 個元素似乎發生了變化,這豈不是和上面說的元組不可變自相矛盾了嗎?

其實,我們說的元組不可變,指的是元組中各元素的指向永遠保持不變。在上面操作中,元組中第 2 個元素指向的一直是 列表nums ,我們改變的其實不是元組的元素,而只是改變了 列表nums 中的元素。

元組是不可變的,因此我們就不能刪除元組中的元素,但是,我們可以通過 del 語句刪除整個元組。

通過關鍵字 in ,可檢查當前元組中是否包含指定元素,返回結果為布爾值 True 或 False。

通過關鍵字 in ,還可以用於遍歷當前元組。

python裡面元組是什麼意思?

元組其實和列表的差距並不是很大,但是也有其獨立的特點:

①元組是一系列不可變的Python對象。元組是一種序列,就像列表一樣;列表通常用來存儲相同類型的數據;而元組在實際開發中,通常用來存儲不同類型的數據。

②元組和列表之間的主要區別是元組不能像列表那樣改變元素的值,可以簡單地理解為「只讀列表」。 元組使用小括弧 -(),而列表使用方括弧 -[];

③元組創建很簡單,只需要在括弧中添加元素,並使用逗號隔開即可。

p class=”ztext-empty-paragraph”

創建元組:需使用逗號分隔值放入小括弧的一個序列。 或者,也可以將這些逗號分隔值放在括弧之間。

元組元素的訪問:請使用方括弧進行指定索引切片或索引,以獲取該索引處的值。

更改元組:元組是不可變的,但是可以使用現有元組的一部分來創建新的元組。

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

python元組構建了對象的簡單組合,元組與列表非常相似,但元組不能在原位置修改,通常寫成包在圓括弧中的一系列項,且具有列表的大多數屬性。

元組是:

任意對象的有序集合:與字元串和列表類似,元組是一個基於位置的有序對象集合,可以嵌入任何類型的對象。

通過偏移量存取:同字元串、列表一樣,元組中的元素也是通過偏移量來訪問的,支持索引和分片。

屬於「不可變序列」:與字元串相同,元組是不可變的,不支持適用於列表的任何原位置修改操作。

固定長度、多樣性、任意嵌套:元組不可變,所以不能改變元組長度,元組可以包含複合對象,支持任意嵌套。

對象引用數組:與列表相似,元組也是對象引用的數組,存儲了指向其他對象的存取點。

Python元組常用操作小技巧

所以這篇文章,我們先來回顧和總結Python數據結構里常用操作。Python中常見的數據結構可以統稱為容器(container)。序列(如列表和元組)、映射(如字典)以及集合(set)是三類主要的容器。而扁平序列如str、bytes、bytearray、memoryview 和 array.array等不在這篇文章的討論範圍內。

在此,我們先從元組開始說起。

元組區別於列表的顯著特徵之一就是它不能被修改,但其另外一個作用就是 用於沒有欄位名的記錄 [1] 。因為後者經常被忽略,我們先來看看元組作為記錄的作用。

使用括弧就可以定義一個元組。元組中的每個元素都存放了記錄中一個欄位的數據,外加這個欄位的位置。正是這個位置信息給數據賦予了意義。下面的例子中,元組就被當作記錄加以利用:

輸出為:

上述for循環中的操作提取了元組中的元素,也叫作拆包(unpacking)。平行賦值是對元組拆包很好的應用,示例如下:

還有一個經典而優雅的應用是交換變數的值:

用 * 運算符把一個可迭代對象拆開作為函數的參數,例如Python的內置函數pmod接收兩個數字類型的參數,返回商和餘數。以下範例將使用 * 將元組傳入函數。

輸出為:

有些函數有多個返回值,將其賦給一個變數時,變數類型即是元組:

輸出為:

zip是Python的內置函數,能夠接收兩個或多個序列,並組成一個元組列表,在Python3中會返回一個迭代器,如下所示:

輸出為:

元組當然也支持一些常規操作,如對於元組 a = (1, ‘y’, 5, 5, ‘x’) :

上述內容不僅涵蓋了元組的基本操作,同時也結合了實際工作中常搭配使用的其他函數、運算符等。在回顧這些知識時主要參考了兩本經典的Python編程書籍:《流暢的Python》和《像計算機科學家一樣思考Python》,有興趣的朋友可以深入閱讀!

希望這篇文章對你有幫助,下回將總結Python列表的使用技巧。

[1]《流暢的Python》:

python自學筆記13:元組和字典的操作

定義元組(tuple):

t1=(1,2,3,4)#多個數據元組

t2=(1,)#如果元組內只有一個數據,也需要手逗號隔開,否則這個數據將是他本身的類型。

元組的操作:

元組類型數據不支持修改,可查找

查找:

按下標查找:

print(t1[1])

函數查找:

print(t1.index(1))返回對應下標,如果數據不存在,程序將報錯

print(t1.count(1))統計數據在元組當中出現的次數

print(len(t1))統計元組當中的數據個數

注意:當元組內嵌套列表數據,可以通過下標的方法對列表數據進行修改如:

t3=(1,2,[“a”,”b”])

t3[2][0]=c #t3的值將變為(1,2,[“c”,”b”])

——————————————————

——————————————————

定義字典(dict)

字典的特點

1:符號為{}

2:數據為鍵(key)值(value)對形式,每個鍵值對之間用逗號隔開如:

dict1={“name”:”小明”,”age”:18,”gender:男”}

字典的操作:

dict1[“name”]=”小紅”

dict1[“id”]=3

如果key存在,將修改其所對應的值。如果不存在,將在字典最後添加該鍵值對

2.刪除數據

del():刪除字典或刪除字典內的鍵值對

del dict1[“name”] 刪除字典內的鍵值對,如果刪除的key不存在,程序將會報錯

del(del)刪除字典

clear(dict1) 清空字典

3.查找數據

一.按照key進行查找,最後返回相對應的值

二.按函數進行查找:

(1) get(key,默認值):

如果查找的key不存在則返回所寫的默認值,如果不寫默認值則返回None

dict1={“name”:”小明”,”age”:18,”gender:男”}

print(dict1.get(“name”)) #小明

print(dict1.get(“id”,110)) # 110

——————————————————

(2) keys():返回字典內的所有key 可用for遍歷

print(dict1.keys())

返回 [“name”,”age”,”gender”]

for key in dict1.keys():

..print(key)

逐行輸出name age gender

——————————————————

(3) values(): 返回字典內的值 可用for遍歷

print(dict1.values())

返回[“小明”,18,”男”]

for value dict1.values():

..print(value)

逐行輸出小明 18 男

——————————————————

(4) items():將字典內的數據以元組的形式返回

print(dict1.items()) 可用for遍歷

返回[(“name”,”小明”),(“age”,18),(“gender”,”男”)]

for item in dict1.items():

..print(item)

逐行輸出 (“name”,”小明”) (“age”,18)(“gender”,”男”)

——————————————————

遍歷字典鍵值對(拆包) 可在for內使用兩個臨時變數

dict1={“name”:”小明”,”age”:18,”gender:男”}

for key,value in dict1.items():

..print(f”{key}=value”)

逐行輸出:

name=小明 age=18 gender=男

學習Python元組,有哪些必須要掌握的內容

學習Python元組,有哪些必須要掌握的內容?

1.Python元組

定義

元組是Python的一種內建數據結構。關於元組:

1、元組屬於序列,可以存放任意元素(任意類型對象),且有序(前後位置關係)。

2、元組支持整數索引訪問其中的數據,也支持切片。

3、元組和列表不同是,元組不可變,列表可變。

元組不可變,某些操作比列表高效。

創建元組

可以用以下兩種方法創建元組:

1、使用()創建

2、使用構造函數tuple()

圖:使用()創建元組

使用()可以創建元組,元組元素間使用」,」分隔,元組內部元素可以是任意元素,也可以是元組。

圖:創建元組代碼示例

元組不可變除了不能修改,也不能刪除元組元素,但刪除與元組綁定的變數是沒問題的。

圖:元組不可變

使用()方式創建只有一個元素的元組時要注意,因為一個元素使用()括起來,表示元素本身,如100, (100),兩者等價,如果創建只包含100的元組應該使用:(100,)方式。

圖:使用()創建只有一個元素的元組

使用構造函數tuple()創建元組。了解更多信息可以使用help(tuple)來查看具體幫助內容。

圖:tuple函數幫助

1、tuple()如果沒有參數創建一個空元組。

2、tuple(可迭代對象) 由可迭代對象創建一個元組,如字元串,列表。如果參數是元組將返回該元組。

圖:使用tuple函數創建元組

2.元組的訪問

和字元串列表一樣,元組支持使用整數索引(下標方式訪問),也支持切片方式訪問元組的元素。

下標索引如果是正整數則從0開始表示第一個元素,…… 最有一個元素用 元組長度-1表示;如果使用負整數做下標,-1表示最後一個元素,-2表示倒數第二個元素,…… 負的長度表示第一個元素。

!!!需要注意的是下標索引不能越界!!!

1、使用索引訪問:

圖:使用索引訪問元組元素

2、切片訪問:

圖:使用切片訪問元組

3.使用內建的常用函數操作元組

常用內建函數len、max、min、sum、reversed可以操作元組,函數解釋如下:

操作示例如下:

注意事項:

使用min,max,sum函數操作元組,元組元素類型能被函數接受才可以,否則將報異常等錯誤。

4.元組常用方法

主要有count和index方法:

count返回元組中對應值的個數,index返回對應值的位置(索引)。

5.元組運算

元組支持 + 連接, * 複製運算,in /not in 運算

圖:元組運算

6.序列

字元串,元組,列表都屬於Python的序列結構,序列具有很多相同的屬性和操作方法,如:序列中的每個元素被分配一個序號(位置,也叫索引),序號(索引)從0開始,依次類推;序列都支持切片操作等等。

圖:序列通用操作

Python內置了多種序列結構:字元串、列表、元組、Unicode字元串、buffer對象、range對象。序列是Python中一種重要的數據結構,必須要掌握,也很容易掌握。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/283455.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 08:08
下一篇 2024-12-22 08:08

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29

發表回復

登錄後才能評論