1.索引
字符串str、列表list、元组tuple都属于序列。序列中元素是有序的,每个元素都有序号,这个序号称为索引。索引的方向不同可分为正负。索引序号采用方括号[ ],里面参数类似C语言下标,也就是索引序号。
>>> i = "HelloWorld"
>>> i[0]
'H'
>>> i[-1]
'd'
>>> i[10]
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
i[10]
IndexError: string index out of range
注:当索引超出范围,例如i[10],会发生IndexError: string index out of range错误
2.+和*运算符
+运算符在序列运算中,可以连接两个序列
*运算符在序列运算中,可以将序列重复多次
>>> i+i
'HelloWorldHelloWorld'
>>> i*2
'HelloWorldHelloWorld'
3.切片
可以取出序列中的子集,即子序列。语法形式是[start:end:step],start开始索引(起始位置),end结束索引(结束位置),step步长(间隔位数)可以为正,也可以为负。
>>> i+i
'HelloWorldHelloWorld'
>>> i*2
'HelloWorldHelloWorld'
>>> i[1:3]
'el'
>>> i[:4]
'Hell'
>>> i[:]
'HelloWorld'
>>> i[0:10:2]
'Hlool'
>>> i[2:-2]
'lloWor'
step步长为负时,从右往左获取元素,注意,切片是”左闭右开“,也就是start索引位会取到,end索引位不会取。例如i[0:9],输出'HelloWorl',i[9]未打印。
4.列表
列表list是一种可变序列类型,可添加、插入、删除和替换其中元素。
(1)创建列表两种方法:
- list('参数')
- [元素1,元素2,...,元素n]
>>> list('HelloWorld')
['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd']
>>> ['H','e','l','l','o',5,6,7,8,9]
['H', 'e', 'l', 'l', 'o', 5, 6, 7, 8, 9]
>>> [] #空列表
[]
>>> i = [8]
>>> i
[8]
>>> i = [8,]
>>> i #创建只有一个元素的列表,其中逗号可以省略
[8]
(2)添加元素
append(x) 方法可在列表中追加单个元素x
extend(r) 方法可在列表中追加多个元素r,还可以使用+
语法:
>>> list = [5,7,9,8]
>>> list.append(10)
>>> list
[5, 7, 9, 8, 10]
>>> r = [1,2,3]
>>> list.extend(r)
>>> list
[5, 7, 9, 8, 10, 1, 2, 3]
>>> list += i #等价于list=i+list
>>> list
[5, 7, 9, 8, 10, 1, 2, 3, 8]
(3)插入元素
list.insert(r,x) 方法插入元素,r为索引位置,x为插入的元素。
>>> list = [5,7,9,8]
>>> list.insert(2,10)
>>> list
[5, 7, 10, 9, 8]
(4)替换元素
list[i]= x 第i个索引(位置)替换为x元素
>>> list = [5,7,9,8]
>>> list[2] = 10
>>> list
[5, 7, 10, 8]
(5)删除元素
list.remove(x) 删除元素x,如列表中多个值相同元素,只删除第一个。
>>> list = [5,7,9,8,7]
>>> list.remove(7)
>>> list
[5, 9, 8, 7]