切片
切片的表达式[((x):(y))](加括号表示x,y均可省略,当x:y都省略时,表示切片值为空)
还有一种空的情况,[x:x]
列表是从[0]开始的,跟数组下标一样
使用切片可对列表进行删除,增改操作
eg.
name=list('perl')
name[1:]=list('ython')
结果
['p','y','t','h','o','n']
eg.
numbers=[1,5]
numbers[1:1]=[2,3,4]#插入的是一个空序列,从numbers[1]后开始插入
结果
[1,2,3,4,]
采取相反措施来删除切片
eg.
numbers=[1,2,3,4,5]
numbers[1:4]=[]
注意切片包括左边,但不包括右边结果
[1,5]
(代码与
del numbers[1:4]
等效)列表方法append
就地修改:修改原来的,但不会返回值。
列表方法 使用格式:objective.method(arguments)
#方法append用于将一个对象添加到列表末尾
lst=[1,2,3]
lst.append(4)
lst
[1,2,3,4]
列表方法clear
#方法clear就地清空当前列表
numbers=[1,2]
numbers.clear()
numbers
[]
列表方法copy
eg.传统的复制能不能行?
a=[1,2,3]
b=a
b[1]=4
a
[1,4,3]
#可见传统的改变了a,b的值,如果要让a和b指向不同的值,就必须将b关联到a的副本eg.用copy
a=[1,2,3]
b=a.copy()
b[1]=4
a
[1,2,3]
列表方法extend
#extend可使一个列表加入另一个列表
a=[1,2,3]
b=[4,5,6]
a.extend(b)
a
[1,2,3,4,5,6]
#这种做法会比a=a+b效率高
列表方法insert
#insert用于将一个对象插入列表
a=[1,2,3,4,5,6]
a.insert(3,'four')
a
[1,2,3,four,5,6]
列表方法pop
#pop用于从列表中删除一个元素,并返回被删除的元素,默认删除最后一个元素
x=[1,2,3]
x.pop()
3
#默认删除最后一个元素x.pop(0)
1
#删除x[0]列表方法pop
ve)#remove用于删除第一个为指定值的元素,和Pop不同的是,remove不返回值
x=['a','b','b']
x.remove('b')
x
['a', 'b']
列表方法reverse
#reverse用于逆序排列表
x=[1,2,3]
x.reverse()
x
[3,2,1]
列表方法reverse和reversed
reverse用于逆序排序,和sort相反,reversed这个函数不返回列表,而是返回一个迭代器,但是reverse和reversed之间可以通过list转化把返回的对象转化成列表
x=[1,2,3]
list(reversed(x))
[3,2,1]