Python中的序列操作

可变对象:列表、字典、集合

不可变对象:数值、字符串、元组、forzenset

 

1、序列的通用操作

(1)测试元素是否存在

和x not in S,返回True或False

 

(2)加法和乘法

或者S*N或者N*S(其中S1和S2是同一种序列类型)

 

(3)len()、max()和min()函数

返回序列的元素个数,min()和max()分别返回序列中最小、最大的元素。

 

(4)count()找出元素在序列中出现的次数

 

(5)索引取元素:S[i],i为从0开始的数值,可以取负数表示从尾部开始取。

 

(6)切片:

:从索引位i取到索引位j,不包括j

:从索引位i开始取到最结尾

:从最开头取到索引位j,不包括j

:从头取到尾,相当于拷贝了序列,但得到的是新序列

:k表示取元素时的步进间隔,默认为1,表示每个元素都取,如果为2,则表示取一个跳过一个

 

(7)找出第一个元素的位置:index(x,i,j):表示从序列中搜索元素x并返回第一次出现的x的位置,如果给定了i,则表示从索引位i开始搜索,给定了j则表示最多搜索到索引位为j的位置。如果找不到元素,将报错。

 

2、不可变序列的操作

相比可变序列,不可变序列的唯一操作是可以支持内置的hash()操作。

 

3、可变序列的操作

(1)s[i]=x 、s[i:j]=t 将序列中的元素替换成x或可迭代对象t

 

(2)s[i:j:k]=t 将序列中的元素替换成可迭代对象t,t的长度必须和s[i:j:k]的长度一样。

 

(3)del s[i]、del s[i:j] 删除序列中的元素

 

(4)del s[i:j:k] 删除序列中的某些元素,k为步长。

 

(5)s.remove(x):移除第一次出现的元素x

 

(6)s.clear():清空序列中的所有元素

 

(7)s.pop([i]):表示移除序列s中的第i个元素,并返回这个元素。没有参数时,默认移除最后一个元素

 

(8)s.append(x):向序列的尾部追加元素x

 

(9)s.extend(t)相当于s+=t,将t扩展到序列s的尾部

 

(10)s.insert(i,x):表示将x插入到序列中的i索引位置处

 

(11)s*=n 将序列s的元素重复n次追加到s的尾部

 

(12)s.copy():浅拷贝

 

(13)s.reserve():原地反转序列s