python提供了五種內建序列型別:
bytearray
bytes
list
strtuple
元組元組是個有序的序列,其中包含0個或多個物件引用。
與字串類似,元組也是固定的,因此不能替換或刪除其中的任意資料項。如果需要修改,我們應該使用列表而不是元組,如果我們有乙個元組,但又要對其進行修改,那麼可以使用list轉換函式將其轉換為列表,之後再產生的列表上進行適當的修改。
tuple()-不指定引數時將返回乙個空元組。該函式至多只能接受乙個引數。
元組只提供了兩種方法:
t.count(x),返回物件x在元組中出現的次數;
t.index(x),返回物件在元組t出現的最左邊位置-在元組中不包含x時,則產生valueerror異常(這些方法對列表也是可用的)。
命名的元組
命名的元組與普通的元組一樣,有相同的表現特徵,其新增的功能就是可以根據名稱引用元組中的項,就像根據索引位置一樣,這以功能使我們可以建立資料項的聚集。
collections模組提供了namedtuple()函式,該函式用於建立自定義的元組資料型別,例如:
person = collections.namedtuple('person','name *** age')
collections.namedtuple()的第乙個引數是想要建立的自定義元組資料型別的名稱,第二個引數是乙個字串,其中包含使用空格分隔的名稱,每個名稱代表該元組資料型別的一項。
列表列表是包含0個或多個物件引用的有序序列。
與字串及元組不同的是,列表是可變的,因此,我們可以對列表中的項進行刪除和替換,插入,替換或刪除列表中的分片也是可能的。
list資料型別可以作為函式進行呼叫,list()-不帶引數時進行電泳時將返回乙個空列表
列表方法
語法描述
將資料項x追加到列表l的末尾
l.count(x)
返回資料項x在l中出現的次數
l.extend(m) or l += m
將iterable m 的項追加到l的結尾處,操作符+=完成同樣的功能
l.index(x,start,end)
返回資料項x在列表l中(或l的[start:end]分片中)最左邊出現的索引位置,否則會產生乙個valueerror異常
l.insert(i,x)
在索引位置int i 處將資料項x插入列表l
l.pop()
返回並移除列表l最右邊的資料項
l.pop(i)
返回並移除l中索引位置int i 處的資料項
l.remove(i)
從列表l中移除最左邊出現的資料項x,如果找不到x就產生valueerror異常
l.reverse()
對列表l進行反轉
l.sort(...)
對列表l進行排序,與內建的sorted()函式一樣,這一方法可以接受可選的key和reverse引數
儘管可以使用分片操作符訪問列表中的資料項,但在有些情況下,我們需要提取兩個或更多的資料項,可以使用序列拆分實現。任意可迭代的(列表,元組等)資料型別都可以使用序列拆分操作符進行拆分,即*。用於賦值操作符左邊的兩個或者多個變數時,其中的乙個使用*引導,資料項將賦值給該變數,而所有剩下的資料項將賦值給帶星號的變數,下面是一些例項:
first , *rest = [1,2,3,4,5] \#fisrt = 1 ,rest = [2,3,4,5] first, *mid , last = [1,2,3,4,5] \#first = 1, mid = [2,3,4], last = 5
列表內涵
如果生成的列表非常大,那麼根據需要生成每個資料項會比一次生成整個列表更高效,這可以通過生成器實現,而不使用列表內涵。
集合
Python組合資料型別
組合資料型別的英文是composite data type,其中composite的意思是復合,組合的意思.這就是組合資料型別名字的由來.下面介紹一些列表的常用操作 在列表末尾加入乙個元素 heros list print heros 輸出結果 小魚人 1.2 extend 下面是extend的官方...
python組合資料型別
組合資料型別 一 序列型別 具有先後關係的一組元素 元素型別可以不同 元素間由序號引導,通過下標訪問序列的特定元素 正向遞增和反向遞減兩種定義方法 真正建立乙個列表,賦值僅傳遞引用 類似指標 序列型別通用操作符 x in s 如果x是序列s的元素,返回true,否則返回false x not in ...
Python組合資料型別
python常用組合資料型別 元組的元素是固定的,一旦建立就不能修改,用圓括號表示,tuple 函式建立 表達固定資料項,函式多返回值,多變數同步賦值,迴圈遍歷等情況下十分有用,由於python的實現,元組比列表的效率更高。序列型別的通用操作符和函式 操作符描述s i 索引,返回序列的第i個元素 s...