標籤:ber [] 訪問 remove 自己 move 特殊 處理 nbsp
Python的元組與列表類似,同樣可通過索引訪問,支援異構,任意嵌套。不同之處在於元組的元素不能修改。元組使用小括弧,列表使用方括弧。
建立元組
元組建立很簡單,只需要在括弧中添加元素,並使用逗號隔開即可
tuple = () #空元組
tuple2 = (‘a‘,‘b‘,‘c‘)
tuple3 = (‘d‘,‘e‘,‘f‘)
可以用dir(tuple)查看元組支援的操作;
元組操作方法及執行個體展示
count
1 功能:統計元組中某元素的個數2 文法:T.count(value) -> integer -- return number of occurrences of value3 T = (‘a‘,‘b‘,‘c‘,‘d‘,1,2,2,3,4)4 T.count(2)5 結果:2
index
1 功能:擷取元素在元組中的索引值,對於重複的元素,預設擷取從左起第一個元素的索引值2 文法:T.index(value, [start, [stop]]) -> integer -- return first index of value.Raises ValueError if the value is not present.3 T = (‘a‘,‘b‘,2,‘c‘,‘d‘,1,2,3,4)4 T.index(2)5 結果:2 #元素2第一次出現在索引為2的位置6 T.index(2,3,7)7 結果:6
T1 + T2
1 功能:合并兩個元組,返回一個新的元組,原元組不變 2 文法:T = T1 + T2 3 T1 = (‘a‘,‘b‘,‘c‘) 4 T2 = (1,2,3,4) 5 T = T1 + T 2 6 結果:
7 print T 8 (‘a‘,‘b‘,‘c‘,1,2,3,4) 9 print T110 (‘a‘,‘b‘,‘c‘)11 print T212 (1,2,3,4)
T1 * N
1 功能:重複輸出元組N次,返回一個新元組,原元組不變2 文法:T = T1 * N3 T1 = (‘a‘,‘b‘,1,2,3)4 T = T1 * 35 結果:6 print T7 (‘a‘,‘b‘,1,2,3,‘a‘,‘b‘,1,2,3,‘a‘,‘b‘,1,2,3)8 print T19 (‘a‘,‘b‘,1,2,3)
元組雖然不可變,但是當元組中嵌套可變元素時,該可變元素是可以修改的,元組本身不變,使用id(tuple)查看。
1 T = (‘a‘,‘b‘,‘c‘,[1,2,3,4],1,2,3)
2 id(T)
3 140073510482784 4 print T[3] 5 [1,2,3,4] 6 T[3].append(5) 7 print T[3] 8 [1,2,3,4,5] 9 print T10 (‘a‘,‘b‘,‘c‘,[1,2,3,4,5],1,2,3)
11 id(T)
12 140073510482784
元組支援切片操作
1 文法:T[start [, stop[, step]]] 2 執行個體示範: 3 T = (‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘,‘h‘) 4 print T[:] #取所有元素 5 (‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘, ‘h‘) 6 print T[2:] #取從索引2開始到末尾的元素 7 (‘c‘, ‘d‘, ‘e‘, ‘f‘, ‘g‘, ‘h‘) 8 print T[2:6] #取索引2到6的所有元素,不包含索引6 9 (‘c‘, ‘d‘, ‘e‘, ‘f‘)10 print T[2:6:2] #從索引2到6,每隔一個元素取一個11 (‘c‘, ‘e‘)
2.列表(list)是處理一組有序項目的資料結構,即可以在列表中儲存一個序列的項目。
列表是 可變類型的資料
2.1建立 列表l
ist1 = [ ]
list2=list()
list3 = [ 1, ‘a‘,(1,),[‘hello,python‘]
2.2.列表中的元素是可以被 改變的,如
list.append 和刪除 del list[]
list.remove(list[]) ,remove 為列表的刪除方法。
list3. 按tab鍵,可以看到列表的其它方法
練習:
現有列表
list1 = [‘XXXX‘, ‘b‘, 3, ‘c‘, ‘&‘, ‘a‘, 3, ‘3‘, 3, ‘aa‘, ‘3‘, ‘XXXX‘]
list2 = [‘e‘, ‘f‘, ‘g‘]
要求對其做以下操作:
1. 取出 ‘XXXX’ 中間的部分,形成一個新的列表list3
2. 對list3 做一下幾部操作
1)刪除特殊符號
2)統計 3 在list3中出現的次數
3)用最簡短的代碼去除list3中 26個字母以外的元素(要求只能對list3操作)
4)對list3排序
5)在末尾追加‘d‘,並把list2追加到list3
3. 現有兩個變數
a = (‘h‘,)
b = (‘h‘)
1)將a和b分別追加到上一題的list3中,觀察有什麼區別
2)將1產生的list3轉換成元組(擴充:自己搜尋方法)
3)列印出只有一個元素‘h‘的元組,在2中產生的元組中的索引
3.python元組與列表