python視頻教程欄目介紹為什么還有元組
推薦(免費(fèi)):python視頻教程
Python中有一個(gè)基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu),叫做元組(tuple),但是一般挺少有人會(huì)去用它的,因?yàn)樵陂_(kāi)發(fā)過(guò)程中,列表(list)基本已經(jīng)能夠滿足我們的需求。
即使是這樣,你也千萬(wàn)不要就此認(rèn)為元組是多余的。不然在面試中也不會(huì)經(jīng)常被人問(wèn),元組和列表有啥區(qū)別?為什么需要元組?
以下兩點(diǎn),第一點(diǎn)是大家所熟知的,而第二點(diǎn)可能只有老司機(jī)才會(huì)知道,只有學(xué)習(xí)了第二點(diǎn),才算真正理解了元組存在的價(jià)值和意義。
1. 不可變列表
這是元組區(qū)別于列表最顯著的特征。
list:可變的序列
tuple:不可變的序列
那什么是不可變的序列呢?
那就是在元組對(duì)象生成后,諸如列表的插入元素、刪除元素、添加元素、清空元素、修改元素等功能,在元組中通通沒(méi)有,你是無(wú)法對(duì)其進(jìn)行修改的。
由于元組是不可變的,所以其方法也是很有限的。這里羅列一下。
2. 具名元組
這個(gè)特性,我個(gè)人認(rèn)為,才是元組存在的意義所在。
只講 具名元組,可能不太好理解。如果稱之為 帶字段名的記錄,你可能就清楚了。
這里舉個(gè)例子,但是實(shí)現(xiàn)帶字段名,需要一個(gè)庫(kù)(collections)的支持,你需要導(dǎo)入它。
看著有點(diǎn)像字典,是不是,但是他不是字典(獲取數(shù)值的方法也與字典不同),字典是可變。元組在創(chuàng)建后,就無(wú)法再對(duì)其進(jìn)行修改。這在某個(gè)程度上說(shuō)明元組適合存放那些無(wú)需修改的數(shù)據(jù)。比如上面的,地名,國(guó)家,經(jīng)緯度。
除了上面的用法之處,這里還要介紹一些元組自己專有的屬性。
Python作為一門不斷發(fā)展與普及的語(yǔ)言,還在不斷更新中。在學(xué)習(xí)時(shí),建議找一些學(xué)習(xí)伙伴一起來(lái)學(xué)習(xí)和討論,效果更佳。如果想學(xué)習(xí)Python,歡迎加入Python學(xué)習(xí)交流群(627012464),一起督促,一起學(xué)習(xí)。里面有開(kāi)發(fā)工具,很多干貨和技術(shù)資料分享!
總結(jié)一下,元組是一種很強(qiáng)大的可以當(dāng)作記錄來(lái)用的數(shù)據(jù)類型,這才是他存在的價(jià)值和意義所在。而為人所熟知的,它的第二個(gè)角色才是充當(dāng)一個(gè)不可變的列表。(以上都是個(gè)人看法,如有不同見(jiàn)解,歡迎留言討論)