切片
步长不能是零,但可以是负数。
负数就是从前后向前取值。
例如:把123456789变成987654321
列表的切片操作时对其中的单个或者多个索引对应元素的操作,具有如下特点:
① 切片区间是左闭右开区间
② 切片的下标可以表示负数,-1表示倒数第一个数,-2表示倒数第二个数
③ 默认步长是1,可增加第三个参数改变步长
④ 步长是-1可以实现倒序切片
⑤ 步长为正时,首末缺省下标分别为0和n;步长为负时,首末缺省下标分别为-1,-n-1
python的增删改查
一、增加操作
1.末尾追加append
语法:append(value)
>>> name=[1,2,3,4]
>>> name.append(5)
>>> name
[1, 2, 3, 4, 5]
注意:每次只能加一个元素,加入多个会报错
>>> name.append(6,7)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: append() takes exactly one argument (2 given)
2.任意位置插入insert
语法:insert(index,value)
>>> name
[1, 2, 3, 4, 5]
>>> name.insert(2,8)
>>> name
[1, 2, 8, 3, 4, 5]
3.列表合并extend()
>>> name1=[1,2,3,4]
>>> name2=[5,6,7,8]
>>> name1.extend(name2)
>>> name1
[1, 2, 3, 4, 5, 6, 7, 8]
4.列表嵌套
注意:列表嵌套是指列表1的某个元素是一个列表,因为想要取出列表中列表的元素需要用[ ][ ]。
>>> name1=[1,2,3,4,[5,6,7,8]]
>>> name1[4][2]
7
二、删除操作
1.直接删del:根据索引删
>>> name=[1,2,3,4]
>>> del name[1]
>>> name
[1, 3, 4]
2.pop()删:
注意:删除列表的最后一个元素并返回该元素,也支持删除指定位置的元素:pop(index),其中index是指元素的索引,但是pop删除不支持空列表, 如果删除空列表会报错。
>>> name
[1, 2, 3, 4]
>>> name.pop()
4
>>> name
[1, 2, 3]
3.清空clear()
>>> name=[1,2,3,4]
>>> name
[1, 2, 3, 4]
>>> name.clear()
>>> name
[]
4.remove(value):根据列表的值来删
注意:注意: 如果列表中有重复的,那么删除第一次出现的;如果删除一个不存在的值,则会报错。
>>> name=['a','b','c','d','e','f']
>>> name.remove('a')
>>> name
['b', 'c', 'd', 'e', 'f']
三、修改操作
注意:修改列表的值,直接对列表赋值即可,注意索引-1是指列表的倒数第一个,0是列表的第一个元素
[1, 2, 3, 4]
>>> name[1]="333"
>>> name
[1, '333', 3, 4]
>>> name[-1]="zzzz"
>>> name
[1, '333', 3, 'zzzz']
四、查找操作
注意:可以根据列表中的值查找该值对应的索引index,列表中如有重复的元素,那么索引值就是元素第一次出现的索引值,也可以得出该值在列表中的个数count。
>>> name=['a','b','c','d','d','d','2','d']
>>> name.index('d')
3
>>> name.count('d')
4
***平常用的比较多的查找方式是判断元素是否在列表中,如 2 in name
>>> name
['a', 'b', 'c', 'd', 'd', 'd', '2', 'd']
>>> 'a' in name
True