1、列表的slice包含3个属性,起始位置、结束位置和步长
>>> listone[0:6]
[0, 1, 2, 3, 4, 5]
>>> listone[0:6:2]
[0, 2, 4]
1.2.且步长不能为0,否则报错
>>> listone[::0]
Traceback (most recent call last):
File "", line 1, in
listone[::0]
ValueError: slice step cannot be zero
>>>
1.3.步长可以为负数,倒序排列
>>> listone[::-2]
[8, 6, 4, 2, 0]
>>>
2、习题
2.1.切片拷贝是否可以简化为 listtwo = listone ?
>>> listtwo = listone[:] #切片拷贝至listtwo
>>> listtwo
[0, 1, 2, 3, 4, 5, 6, 7, 8]
>>> listthree = listone #切片拷贝至listthree
>>> listthree
[0, 1, 2, 3, 4, 5, 6, 7, 8]
>>> listone.append(9) #listone列表内增加元素‘9’
>>> listone
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> listtwo #listtwo列表没有任何变化,可以确定listtwo是一个独立列表
[0, 1, 2, 3, 4, 5, 6, 7, 8]
>>> listthree #listthree只是列表one的另外一个名称,one改变其也随之改变
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>
3、列表中的操作符应用
3.1.逻辑操作符
>>> l1 = [1, 2, 3]
>>> l2 = [2, 3, 4]
>>> l3 = [3, 4, 5]
>>> l1 < l2
True
----------------------------------------
>>> (l1 < l2) and (l2 < l3)
True
----------------------------------------
>>> l4 = l1 + l2
>>> l4
[1, 2, 3, 2, 3, 4]
注:‘+’相当于extend() ,‘+’两边的对象类型必须一致
>>> l1 * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> l1 *= 3
>>> l1
[1, 2, 3, 1, 2, 3, 1, 2, 3]
----------------------------------------
>>> 1 in l1
True
>>> 4 in l1
False
>>> 4 not in l1
True
----------------------------------------
>>> l4 = [1, ['a', 'b'], 2]
>>> a in l4
False
>>> 'a' in l4
False
>>> a in l4[1]
False
>>> 'a' in l4[1]
True
4、列表的常用方法
4.1.count(),计算列表中参数出现的次数
>>> l1
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> l1.count(1)
3
4.2.index(),找到元素首次出现的位置索引号
>>> l1
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> l1.index(3)
2
>>> l1.index(3, 0, 7)
2
>>> l1.index(3, 3, 7)
5
注:index(元素,起始索引位置,结束索引位置)
4.3.reverse(),将列表内的元素倒序排列
>>> l4
[1, ['a', 'b'], 2]
>>> l4.reverse()
>>> l4
[2, ['a', 'b'], 1]
4.4.sort() 将列表内的元素正序排列,sort()方法有3个参数sort(func),sort(key),sort(reverse= False/True)[reverse参数默认是False]
>>> l5
[1, 3, 5, 20, 50, 21, 60, 15, 26]
>>> l5.sort()
>>> l5
[1, 3, 5, 15, 20, 21, 26, 50, 60]
4.5.clear(),清空列表中的所有元素,列表还在,但列表内的元素已经全部清空
>>> l5.clear()
>>> l5
[]