二渐扮、元組(Tuple)
元組是能夠保存任意數(shù)目的任意Python 對象的容器。元組通過在圓括號中放置逗號分隔的Python對象來創(chuàng)建掖棉,創(chuàng)建完成后就不可以更改墓律。一個空的元組可以由空的一對括號形成。如果確實(shí)想得到一個元祖幔亥,只要在關(guān)閉圓括號之前加上一個逗號就可以了耻讽。作為特殊情況,在不會引起語法沖突的情況下帕棉,Python允許忽略元組的圓括號针肥。雖然元組是被定義成不可變的,但這并不影響它的靈活性香伴。元組的不可變性提供了某種完整性慰枕。這樣你可以確保元組在程序中不會被另一個引用修改,而列表就沒有這樣的保證了即纲。
注意: 可以使用圓括號創(chuàng)建空的元組具帮,但是無法使用圓括號創(chuàng)建單一元素的元組。因?yàn)閳A括號也被用作分組操作符低斋,由圓括號包裹的一個單一元素首先被作為分組操作蜂厅,而不是作為元組的分界符。一個變通的方法是在第一個元素后面添一個逗號(,)來表明這是一個元組而不是在做分組操作膊畴。
1掘猿、默認(rèn)集合類型
所有的多對象的,逗號分隔的唇跨,沒有明確用符號定義的(比如說像用方括號表示列表和用圓括號表示元組一樣)等等术奖,這些集合默認(rèn)的類型都是元組。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 —— 包
`