1.6 序列的通用操作
阿新 • • 發佈:2018-01-02
blog sar 重復 color 統計 序列值 end 切片 list()
下面幾個小節分別會介紹到的list、tuple、str等都屬於序列。
先介紹序列通用操作,序列的通用操作部分對list、tuple、str都適用,此處以list為例進行演示。
在講序列的通用操作之前,先講一下列表的構造。
列表的構造方法:
(1)直接把列表的元素直接放在[]中,
(2)使用全局list()函數構造列表。list會把傳進來的序列值進行拆分。其他可叠代對象也能生成列表。
#先生成一個list類型的對象
1 >>> l = [‘張三‘,‘李四‘,‘王五‘] 2 >>> l 3 [‘張三‘, ‘李四‘, ‘王五‘]
通用操作一:
判斷元素x是否在l 之內 x in l / x not in l 判斷結果是bool型
1 >>> l1 2 [‘張三‘, ‘李四‘, ‘王五‘] 3 >>> ‘張三‘ in l1 4 True 5 >>> ‘張三‘ not in l1 6 False 7 >>> ‘陳六‘ in l1 8 False 9 >>> ‘陳六‘ not in l1 10 True 11 >>>
通用操作二:
連接序列 l1 + l2 將兩個序列拼接成一個序列。l1和l2在拼接前後不變,是生成了一個新的對象。
1 >>> l1=l = [‘張三‘,‘李四‘,‘王五‘]
2 >>> l2=[‘Marry‘,‘Sara‘] #說起這個Sara,就想起了越獄中女主角,好喜歡她
3 >>> l1 + l2
4 [‘張三‘, ‘李四‘, ‘王五‘, ‘Marry‘, ‘Sara‘]
5 >>> l1
6 [‘張三‘, ‘李四‘, ‘王五‘]
7 >>> l2
8 [‘Marry‘, ‘Sara‘]
9 >>>
通用操作三:
重復序列元素 l1 * n n就是你想重復的次數
1 >>> l1*2 2 [‘張三‘, ‘李四‘, ‘王五‘, ‘張三‘, ‘李四‘, ‘王五‘] 3 4 >>> l1 5 [‘張三‘, ‘李四‘, ‘王五‘] #果不其然,原列表不變
通用操作四:
通過下標獲取元素 l1[i] 註意下標i是從0開始的
1 >>> l1[1] 2 3 ‘李四‘
通用操作五:
訪問指定索引範圍 l1[i:j] 註意編程語言中的範圍一般都是含頭不含尾的,這個操作又叫切片
1 >>> l1[1:2] 2 [‘李四‘] 3 >>>
通用操作六:
按步長訪問指定範圍索引 s[i:j:k] k即為步長。步長值默認為1,也可以自己設置步長值。
1 >>> l = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18] 2 >>> l[2:15:3] 3 [3, 6, 9, 12, 15]
通用操作七:
獲取序列長度 len(s)
1 >>> l 2 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18] 3 >>> len(l) 4 18 5 >>>
通用操作八:
獲取序列最小值 min(s)、獲取序列最大值 max(s) 元素必須是可比較大小的。
1 >>> l 2 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18] 3 >>> min(l) 4 1 5 >>> max(l) 6 18 7 >>>
通用操作九:
獲取序列元素的總和: sum ( s )
>>> l [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18] >>> sum(l) 171 >>>
通用操作十:
檢索某個元素第一次出現的位置下標 index()
1 >>> l 2 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18] 3 >>> l.index(3) 4 2 5 >>>
通用操作十一:
統計序列中某個元素出現的次數count()
1 >>> l.append(8) 2 >>> l 3 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 8] 4 >>> l.count(8) 5 2 6 >>>
1.6 序列的通用操作