Python的 元組(Tuple)詳解
Python3的 元組(Tuple)
Python 的元組與列表類(lèi)似,不同之處在于元組的元素不能修改。
元組使用小括號(hào) ( ),列表使用方括號(hào) [ ]。
元組創(chuàng)建很簡(jiǎn)單,只需要在括號(hào)中添加元素,并使用逗號(hào)隔開(kāi)即可。
元組中只包含一個(gè)元素時(shí),需要在元素后面添加逗號(hào) , ,否則括號(hào)會(huì)被當(dāng)作運(yùn)算符使用:
元組與字符串類(lèi)似,下標(biāo)索引從 0 開(kāi)始,可以進(jìn)行截取,組合等。
可以對(duì)元組進(jìn)行連接組合,但是不能修改,刪除。
可以刪除整個(gè)元組。del tup 刪除之后就是未定義了。
元組運(yùn)算符
與字符串一樣,元組之間可以使用 + 號(hào)和 * 號(hào)進(jìn)行運(yùn)算。這就意味著他們可以組合和復(fù)制,運(yùn)算后會(huì)生成一個(gè)新的元組。
元組索引,截取
因?yàn)樵M也是一個(gè)序列,所以我們可以訪問(wèn)元組中的指定位置的元素,也可以截取索引中的一段元素。

元組內(nèi)置函數(shù)
Python元組包含了以下內(nèi)置函數(shù)
len() max() min()
uple(iterable)
將可迭代系列轉(zhuǎn)換為元組。
Python中,元組裝包拆包是自動(dòng)的,不需要任何函數(shù),導(dǎo)致很多人對(duì)于函數(shù)返回值一會(huì)有括號(hào)一會(huì)沒(méi)括號(hào)非常迷惑
先看代碼:
a=1,2,3 #它其實(shí)等價(jià)于下面的代碼 a=(1,2,3) #因?yàn)榈忍?hào)左邊只有1個(gè)變量,而等號(hào)右邊有3個(gè)值,因此自動(dòng)裝包成為一個(gè)元組 a,b,c=(1,2,3) #自動(dòng)拆包,得到a=1,b=2,c=3
當(dāng)函數(shù)return的時(shí)候,其實(shí)只能return一個(gè)值,并不能return多個(gè)值
有人會(huì)問(wèn),我return了多個(gè)值也沒(méi)有報(bào)錯(cuò)啊,運(yùn)行很正常
那正是因?yàn)镻ython將多個(gè)返回值自動(dòng)裝包造成的
因此當(dāng)你返回多個(gè)變量,而外面只用一個(gè)變量去接收,會(huì)接收到一個(gè)元組
而當(dāng)你用多個(gè)變量去接,就能對(duì)應(yīng)的接收到每個(gè)值,這是因?yàn)樽詣?dòng)拆包
理解了這一點(diǎn),對(duì)于理解函數(shù)返回值、字典中的鍵值對(duì)等等都是有幫助的
執(zhí)行會(huì)報(bào)錯(cuò):too many values to unpack
這里很明顯的,告訴你元組里有3個(gè)值需要拆包,而你只用2個(gè)值去接收,證明了元組確實(shí)執(zhí)行了一個(gè)拆包的動(dòng)作
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
python中實(shí)現(xiàn)數(shù)組和列表讀取一列的方法
下面小編就為大家分享一篇python中實(shí)現(xiàn)數(shù)組和列表讀取一列的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
如何利用python實(shí)現(xiàn)列表嵌套字典取值
這篇文章主要介紹了如何利用python實(shí)現(xiàn)列表嵌套字典取值,首先通過(guò)將列表backup_unit_id全部提取出來(lái),確定需要取值的對(duì)象展開(kāi)文章內(nèi)容,感興趣的朋友可以看一下2022-06-06
Python實(shí)現(xiàn)給qq郵箱發(fā)送郵件的方法
這篇文章主要介紹了Python實(shí)現(xiàn)給qq郵箱發(fā)送郵件的方法,涉及Python郵件發(fā)送的相關(guān)技巧,需要的朋友可以參考下2015-05-05
python實(shí)現(xiàn)ModBusTCP協(xié)議的client功能
Modbus TCP 是一種基于 TCP/IP 協(xié)議棧的 Modbus 通信協(xié)議,它用于在工業(yè)自動(dòng)化系統(tǒng)中進(jìn)行設(shè)備之間的通信,只要通過(guò)pymodbus或pyModbusTCP任意模塊就可以實(shí)現(xiàn),本文采用pymodbus,感興趣的朋友跟隨小編一起看看吧2023-10-10
Python線程協(xié)作threading.Condition實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了Python線程協(xié)作threading.Condition實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03
TensorFlow keras卷積神經(jīng)網(wǎng)絡(luò) 添加L2正則化方式
這篇文章主要介紹了TensorFlow keras卷積神經(jīng)網(wǎng)絡(luò) 添加L2正則化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
基于python和flask實(shí)現(xiàn)http接口過(guò)程解析
這篇文章主要介紹了基于python和flask實(shí)現(xiàn)http接口過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06

