第二章
(1)列表
以下是列表对象常用方法
append(x) 在列表末尾添加
insert(index,x)在指定位置添加X
index(X) 返回第一个值为X的元素下标
remove(x) 删除在列表中首次出现的X
pop(X) 返回X的对象,并且将其删除(默认为最后一个函数)
clear() 清空列表
count(X)统计X在列表中出现的次数
del x_list(y)删除列表中的指定位置上的元素
extend( [ ] )将另一个迭代对象的所有元素添加至该列表对象尾部
值得一提的是列表是自动内存管理功能,每当插入或删除一个元素之后,该元素位置后面所有元素的索引就都改变了。比如说下面这列代码
>>>x=list(range(20))
>>>x
>[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
>>>for i in range(len(x)):
del x[0]
>>>x
[]
常见错误示例
>>>x=[1,2,1,2,1,1,1]
>>>for i in x:
i
if i==1:
x.remove(i)
x
1
[2,1,2,1,1,1]
1
[2,2,1,1,1]
1
[2,2,1,1]
1
[2,2,1]
实际上没有删除掉所有的1,以上几行代码只能应对特殊的情况
解决方法
>>>x=[1,2,1,2,1,1,1]
>>>for i in x[::]:
i
if i==1:
x.remove(i)
x
1
[2,1,2,1,1,1]
2
1
[2,2,1,1,1]
2
1
[2,2,1,1]
1
[2,2,1]
1
[2,2]
切片操作:
一个完整的切片表达式包含两个“:”,用于分隔三个参数(start_index、end_index、step)。当只有一个“:”时,默认第三个参数step=1;当一个“:”也没有时,start_index=end_index,表示切取start_index指定的那个元素。
>>>alist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>alist[0]
0
>>>alist[0:1]
[0]
1 切取单个元素
>>>a[0]
0
>>>a[-4]
6
当索引只有一个数时,表示切取某一个元素。
2. 切取完整对象
>>>a[:] #从左往右
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>a[::]#从左往右
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>a[::-1]#从右往左
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]