下面几个小节分别会介绍到的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 >>>