Python基礎(chǔ)手冊11——序列(元組&列表)

二渐扮、元組(Tuple)

元組是能夠保存任意數(shù)目的任意Python 對象的容器。元組通過在圓括號中放置逗號分隔的Python對象來創(chuàng)建掖棉,創(chuàng)建完成后就不可以更改墓律。一個空的元組可以由空的一對括號形成。如果確實(shí)想得到一個元祖幔亥,只要在關(guān)閉圓括號之前加上一個逗號就可以了耻讽。作為特殊情況,在不會引起語法沖突的情況下帕棉,Python允許忽略元組的圓括號针肥。

雖然元組是被定義成不可變的,但這并不影響它的靈活性香伴。元組的不可變性提供了某種完整性慰枕。這樣你可以確保元組在程序中不會被另一個引用修改,而列表就沒有這樣的保證了即纲。

注意: 可以使用圓括號創(chuàng)建空的元組具帮,但是無法使用圓括號創(chuàng)建單一元素的元組。因?yàn)閳A括號也被用作分組操作符低斋,由圓括號包裹的一個單一元素首先被作為分組操作蜂厅,而不是作為元組的分界符。一個變通的方法是在第一個元素后面添一個逗號(,)來表明這是一個元組而不是在做分組操作膊畴。



1掘猿、默認(rèn)集合類型

所有的多對象的,逗號分隔的唇跨,沒有明確用符號定義的(比如說像用方括號表示列表和用圓括號表示元組一樣)等等术奖,這些集合默認(rèn)的類型都是元組。

所有函數(shù)返回的多對象(不包括有符號封裝的)都是元組類型轻绞。注意采记,有符號封裝的多對象集合其實(shí)是返回的一個單一的容器對象。

為了避免令人討厭的副作用政勃,建議總是顯式的用圓括號表達(dá)式表示元組或者創(chuàng)建一個元組唧龄。


2、元組內(nèi)建方法


(1)返回元素的位置


(2)返回元素的個數(shù)




三奸远、列表(List)

列表是能夠保存任意數(shù)目既棺、任意類型的Python對象的位置相關(guān)的有序集合讽挟。列表所包含的每一項(xiàng)都保持了從左到右的位置順序。列表沒有固定的大小丸冕,其大小是可變的耽梅,因?yàn)榱斜硎强勺兊模运С衷幮薷牡牟僮髋种颉.?dāng)你在原處修改一個列表時眼姐,可能會影響一個以上指向他的引用。列表通過在方括號中放置逗號分隔的Python對象來創(chuàng)建佩番。(注意众旗,一般不會需要創(chuàng)建長度為0或1的列表)

列表和元組有幾處重要的區(qū)別攒庵。列表元素用中括號([ ])包裹筒愚,元素的個數(shù)及元素的值可以改變。元組元素用小括號(( ))包裹探膊,本身不可以更改(盡管他們的內(nèi)容可以)赋秀。元組可以看成是只讀的列表利朵。

超出列表末尾之外的索引會導(dǎo)致錯誤,對列表末尾范圍之外賦值也同樣會導(dǎo)致錯誤猎莲。

Python的核心數(shù)據(jù)類型的一個優(yōu)秀的特性就是他們支持任意的嵌套绍弟。能夠以任意的組合對其進(jìn)行嵌套,并可以多個層次就行嵌套益眉。


1晌柬、列表解析表達(dá)式

處理序列的操作和列表的方法中,Python還包括了一個更高級的操作:列表解析表達(dá)式郭脂。它提供了一種處理像矩陣這樣結(jié)構(gòu)的強(qiáng)大工具年碘。列表解析表達(dá)式是一種通過對序列中的每一項(xiàng)運(yùn)行一個表達(dá)式來創(chuàng)建一個新列表的方法。列表解析式編寫在方括號中的(提醒你在創(chuàng)建列表這個事實(shí))展鸡,并且由使用了同一個變量名的(這里是row)表達(dá)式和循環(huán)結(jié)構(gòu)組成屿衅。


2、常用列表內(nèi)建方法

因?yàn)榱斜硎强勺兊挠ū祝蠖鄶?shù)列表的方法都會就地改變主體列表對象涤久,而不是創(chuàng)建一個新的列表。


(1)拷貝

list.copy() 為淺copy忍弛,列表中的列表在 copy 的時候只 copy 列表中保存的地址响迂,即默認(rèn)為淺copy。

列表的直接賦值會直接把列表對象的地址賦值給變量细疚。

要使用深copy蔗彤,需要導(dǎo)入 copy 模塊,調(diào)用 copy.deepcopy() 方法。具體的深淺copy的介紹會在下一章《序列類型操作》中詳細(xì)介紹然遏。


(2)將列表的首尾顛倒

list.reverse()
原地翻轉(zhuǎn)列表


(3)排序

list.sort(func=None,key=None, reverse=False)
以指定的方式排序列表中的成員贫途,如果 func 和 key 參數(shù)指定,則按照指定的方式比較各個元素待侵,如果 reverse 標(biāo)志被置為True丢早,則列表以反序排列。


(4)列表的元素個數(shù)


(5)在列表的最后追加列表

list.extend(seq)
把序列 seq 的內(nèi)容添加到列表中


(6) 彈出最后一個元素

list.pop(index=-1)
刪除并返回指定位置的對象,默認(rèn)是最后一個對象


(7)在列表的最后追加一個元素

list.append(obj)
向列表中添加一個對象 obj


(8)返回列表中指定元素的序列下標(biāo)

list.index(obj, i=0, j=len(list))
返回 list[k] == obj 的 k 值,并且 k 的范圍在 i<=k<j;否則引發(fā) ValueError 異常秧倾。


(9)返回列表中指定元素的個數(shù)

***list.count(obj) ***
返回一個對象 obj 在列表中出現(xiàn)的次數(shù)


(10)刪除列表中的指定元素

list.remove(obj)
從列表中刪除對象 obj


(11)在制定位置插入指定的元素

list.insert(index, obj)
在索引量為 index 的位置插入對象 obj怨酝。


(12)清空列表


《Python基礎(chǔ)手冊》系列:

Python基礎(chǔ)手冊 1 —— Python語言介紹
Python基礎(chǔ)手冊 2 —— Python 環(huán)境搭建(Linux)
Python基礎(chǔ)手冊 3 —— Python解釋器
Python基礎(chǔ)手冊 4 —— 文本結(jié)構(gòu)
Python基礎(chǔ)手冊 5 —— 標(biāo)識符和關(guān)鍵字
Python基礎(chǔ)手冊 6 —— 操作符
Python基礎(chǔ)手冊 7 —— 內(nèi)建函數(shù)
Python基礎(chǔ)手冊 8 —— Python對象
Python基礎(chǔ)手冊 9 —— 數(shù)字類型
Python基礎(chǔ)手冊10 —— 序列(字符串)
Python基礎(chǔ)手冊11 —— 序列(元組&列表)
Python基礎(chǔ)手冊12 —— 序列(類型操作)
Python基礎(chǔ)手冊13 —— 映射(字典)
Python基礎(chǔ)手冊14 —— 集合
Python基礎(chǔ)手冊15 —— 解析
Python基礎(chǔ)手冊16 —— 文件
Python基礎(chǔ)手冊17 —— 簡單語句
Python基礎(chǔ)手冊18 —— 復(fù)合語句(流程控制語句)
Python基礎(chǔ)手冊19 —— 迭代器
Python基礎(chǔ)手冊20 —— 生成器
Python基礎(chǔ)手冊21 —— 函數(shù)的定義
Python基礎(chǔ)手冊22 —— 函數(shù)的參數(shù)
Python基礎(chǔ)手冊23 —— 函數(shù)的調(diào)用
Python基礎(chǔ)手冊24 —— 函數(shù)中變量的作用域
Python基礎(chǔ)手冊25 —— 裝飾器
Python基礎(chǔ)手冊26 —— 錯誤 & 異常
Python基礎(chǔ)手冊27 —— 模塊
Python基礎(chǔ)手冊28 —— 模塊的高級概念
Python基礎(chǔ)手冊29 —— 包

`

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市中狂,隨后出現(xiàn)的幾起案子凫碌,更是在濱河造成了極大的恐慌扑毡,老刑警劉巖胃榕,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異瞄摊,居然都是意外死亡勋又,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門换帜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來楔壤,“玉大人,你說我怎么就攤上這事惯驼《紫” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵祟牲,是天一觀的道長隙畜。 經(jīng)常有香客問我,道長说贝,這世上最難降的妖魔是什么议惰? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮乡恕,結(jié)果婚禮上言询,老公的妹妹穿的比我還像新娘。我一直安慰自己傲宜,他們只是感情好运杭,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著函卒,像睡著了一般辆憔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天躁愿,我揣著相機(jī)與錄音叛本,去河邊找鬼。 笑死彤钟,一個胖子當(dāng)著我的面吹牛来候,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逸雹,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼营搅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了梆砸?” 一聲冷哼從身側(cè)響起转质,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎帖世,沒想到半個月后休蟹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡日矫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年赂弓,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哪轿。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡盈魁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出窃诉,到底是詐尸還是另有隱情杨耙,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布飘痛,位于F島的核電站珊膜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏敦冬。R本人自食惡果不足惜辅搬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望脖旱。 院中可真熱鬧堪遂,春花似錦、人聲如沸萌庆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽践险。三九已至猿妈,卻和暖如春吹菱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背彭则。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工鳍刷, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人俯抖。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓输瓜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親芬萍。 傳聞我的和親對象是個殘疾皇子尤揣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容