標籤:python
python資料結構之 列表和元組
序列:序列是一種資料結構,它包含的元素都進行了編號(從0開始)。典型的序列包括列表、字串和元組。其中,列表是可變的(可以進行修改),而元組和字串是不可變的(一旦建立了就是固定的)。序列中包含6種內建的序列,包括列表、元組、字串、Unicode字串、buffer對象、xrange對象。
列表的聲明:mylist = []
2.列表的操作:
(1) 序列的分區: 用法:mylist[startIndex:endIndex:step] exam: mylist[2:10] 檢索第2個字元到第10個字元,預設步長為1. mylist[2:10:2] 檢索第2個字元到第10個字元,指定步長為2. mylist[-2:-1:2] 正數索引是相對於首部的座標,負數是相對於尾部的座標。其實座標一定要小於終止座標,否則返回空的分區。 mylist[-12:-2:-2] 步長也可以是負數,表示從右向左提取元素。(2) 序列的索引: 用法:mylist[index] exam: mylist[2] mylist[-2] ps:正數是相對於首部的座標,負數是相對於尾部的座標。(3) 序列相加: 用法: mylist1 + mylist2 <==> [1,2] + [3,4](4) 序列乘法: 用法: mylist * 5 mylist元素重複5次。(5) in操作符: 用法: ‘item’ in mylist 判斷mylist是否包含某一成員。
3.列表涉及的內建函數: 內建函數len、min、max針對列表操作非常有用。
(1) len函數返回序列中所包含元素的數量。(2) min函數和max函數分別返回學列中最大和最小元素。(3) list函數可以把字串轉換成列表。 exam: list(‘hello‘) => [‘H‘,‘e‘,‘l‘,‘l‘,‘o‘](4) cmp函數用來比較2個元素的大小 exam: cmp(x,y) => 返回0表示相等, -1 則是 x < y 1 則是 x > y(5) reversed函數對序列進行反向迭代。(6) sorted 返回已排序的包含seq所有元素的列表。
4.列表的方法:
(1)append: append方法在列表末尾追加新的對象。 exam:lst=[1,2,3] lst.append(4) => [1,2,3,4](2)count: count方法統計某個元素在列表中出現的次數。 exam: x=[[1,2],1,1,[2,1,[1,2]]] x.count(1) => 1(3)extend: extend方法可以在列表的末尾一次性追加另外一個序列的多個值。即:可以用新列表擴充原有列表。 exam: a=[1,2,3] b=[4,5,6] a.extend(b) => [1,2,3,4,5,6](4)index: index方法用於從列表中找出某個值第一個匹配項的索引位置。 exam:lst=[‘we‘,‘le‘,‘at‘] lst.index(‘le‘) => 1(5)insert:insert方法用於將對象插入到列表中: exam:lst=[1,2,3,4,5,6] lst.insert(3,8) => [1,2,3,8,4,5,6](6)pop: pop方法移除列表中的一個元素(預設是最後一個),並且返回該元素。(7)remove: remove方法移除列表中某個值的第一個匹配項: exam: x=[‘to‘,‘be‘,‘or‘] x.remove(‘to‘) => 你懂得。(8)reverse 方法將列表中的元素反序。(9)sort 方法用於在原位置對列表進行排序。 exam: sort方法有預設的排序方法,另外還具有進階排序的用法,sort方法有兩個可選的參數,key 和 reverse,key指定排序的關鍵字參數,指定後排序會按key的大小來排序,reverse用於指定是否反序。 x.sort(key=len) => 表示按照字串的長度排序。 x.sort(reverse=True) => 表示反序排序。 x.sort(cmp) => 指定排序函數,你懂的。
5.元組:元組和列表一樣,也是一種序列。唯一的不同是元組不能修改。
(1) 聲明方式: 用逗號分隔一些值,就自動建立了元組。 exam: 1,2,3 => (1,2,3) 也可以通過園括弧聲明。 exam: (1,2,3) => (1,2,3)(2) 元組的乘法: 3*(40+2) => (42,42,42)
6.元組涉及的內建函數:
(1)tuple函數的功能和list函數的基本上是一樣的:以一個序列作為參數並把它轉換為元組。 exam: tuple([1,2,3]) => tuple(1,2,3)
7.元組的分區:
exam: x=1,2,3 x[1] => 2 x[0:2] => (1,2)
python資料結構之 列表和元組