本文目錄一覽:
- 1、python什麼是元組?
- 2、Python中的元組(Tuple)
- 3、python裡面元組是什麼意思?
- 4、Python元組常用操作小技巧
- 5、python自學筆記13:元組和字典的操作
- 6、學習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