Python基礎(chǔ)數(shù)據(jù)類型——tuple淺析
點(diǎn)擊上方“IT共享之家”,進(jìn)行關(guān)注
回復(fù)“資料”可獲贈(zèng)Python學(xué)習(xí)福利
Python中tuple的使用
一、什么是元組?
有序列表叫元組:tuple。tuple和list非常類似,但是tuple一旦初始化就不能修改。
二、用法
1. tuple元組的定義
Python的元組與列表類似,不同之處在于元組的元素不能修改。元組使用小括號(hào),列表使用方括號(hào)。元組創(chuàng)建很簡(jiǎn)單,只需要在括號(hào)中添加元素,并使用逗號(hào)隔開(kāi)即可。示例如下:
tup1 = ('361way', 'com', 1997, 2000)print(type(tup1))tup2 = (1, 2, 3, 4, 5)tup3 = "a", "b", "c", "d"print(type(tup3))

這里通過(guò)tup3可以看出,其并沒(méi)有用小括號(hào)進(jìn)行包括,但其也是元組。所以需要記住:任意無(wú)符號(hào)的對(duì)象,以逗號(hào)隔開(kāi),默認(rèn)為元組 。另外需要特別注意只有一個(gè)元素時(shí)元組的創(chuàng)建:
tup1 = (111)print(type(tup1))tup1 = ("abc")print(type(tup1))tup1 = ("abc",)print(type(tup1))

元組中只包含一個(gè)元素時(shí),需要在元素后面添加逗號(hào),否則就會(huì)是int ?或 string 等其他數(shù)據(jù)類型。如果只是創(chuàng)建一個(gè)空元組時(shí),則不受逗號(hào)的影響:
tup1 = ()print(type(tup1))

2. 元組的索引與切片
同字符串、列表類型一樣,元組也支持索引與切片 。而且用法也相同,
下面結(jié)合示例查看下:
tup1 = ('361way', 'com', 2013, 2014)print(tup1[0])print(tup1[4]) #取值超出其索引范圍時(shí)報(bào)錯(cuò)tup2 = (1, 2, 3, 4, 5, 6, 7)print(tup2[1:5])
由上面的結(jié)果可以看出,取出元組的單個(gè)元素?cái)?shù)據(jù)時(shí),得到的是該數(shù)據(jù)原來(lái)的類型 ; 取出其一段元素值時(shí)得到的仍是元組。

3. 修改元組的值
元組中的元素值是不允許刪除的,但可以使用del語(yǔ)句來(lái)刪除整個(gè)元組,如下實(shí)例:
tup1 = ('361way', 'com', 2013, 2014)del tup1[3] # 刪除單個(gè)元素,報(bào)錯(cuò)tup1[3] = 'abc' # 更改一個(gè)元素的值,報(bào)錯(cuò)print(tup1[3])del tup1 # 刪除整個(gè)元組,正常print(tup1)

在實(shí)際應(yīng)用中,有時(shí)候會(huì)遇到需要修改元組的值,那怎么辦呢?可以通過(guò)一個(gè)變通的方法實(shí)現(xiàn)。
示例如下:
tup1 = ('361way', 'com', 2013, 2014)list1 = list(tup1)print(list1)list1[3] = 'change'print(list1)tup1 = tuple(list1)print(tup1)

? 可以將tuple元組的值先通過(guò)list轉(zhuǎn)化為列表,再對(duì)列表內(nèi)的值進(jìn)行修改,修改為再將list轉(zhuǎn)化為tuple 。
不過(guò)這里需要注意的是此時(shí)的tup1已經(jīng)非彼tup1,具體可以通過(guò)id函數(shù)進(jìn)行查看,發(fā)現(xiàn)其內(nèi)存地址已經(jīng)發(fā)生了變化。
三、總結(jié)
本文基于Python基礎(chǔ),主要介紹了Python基礎(chǔ)中tuple元組的使用,對(duì)于tuple的用法做了詳細(xì)的講解,用豐富的案例 ,代碼效果圖的展示幫助大家更好理解 。
tuple是Python內(nèi)置的有序集合,一個(gè)可變,一個(gè)不可變。根據(jù)需要來(lái)選擇使用它們。
最后,希望可以幫助大家更好的學(xué)習(xí)Python。
看完本文有收獲?請(qǐng)轉(zhuǎn)發(fā)分享給更多的人
IT共享之家
入群請(qǐng)?jiān)谖⑿藕笈_(tái)回復(fù)【入群】
-------------------?End?-------------------
往期精彩文章推薦:
