【python】列表元素操作

来源:互联网 发布:python 聚类算法 编辑:程序博客网 时间:2024/06/14 08:42

列表元素插入

append、extend和insert
extend:扩展
append:追加
insert:插入

append和extend都只需要一个参数,并且自动添加到数组末尾
insert需要两个参数,插入指定的位置

如果需要添加多个,可用数组嵌套,
但append是将嵌套后的数组作为一个对象,
而extend是将嵌套的数组内容作为多个对象,添加到原数组中

member = ['小甲鱼','小布丁','黑夜','小明','小豆','大柱']
//append 接受一个参数,这个参数可以是任何数据类型,并且简单地追加到 list 的尾部member.append('露西')print(member)#输出['小甲鱼', '小布丁', '黑夜', '小明', '小豆', '大柱', '露西']
member.extend('露西')print(member)#输出['小甲鱼', '小布丁', '黑夜', '小明', '小豆', '大柱', '露', '西']
member.append('露西','韩梅')#输出member.append('露西','韩梅')TypeError: append() takes exactly one argument (2 given)
member.extend('露西','韩梅')#输出member.extend('露西','韩梅')TypeError: extend() takes exactly one argument (2 given)
//extend 接受一个参数,这个参数总是一个 list,并且把这个 list 中的每个元素添加到原 list 中member.extend(['露西','韩梅'])print(member)#输出['小甲鱼', '小布丁', '黑夜', '小明', '小豆', '大柱', '露西', '韩梅']
//列表末尾增加一个数据项member.append(['露西','韩梅'])print(member)#输出['小甲鱼', '小布丁', '黑夜', '小明', '小豆', '大柱', ['露西', '韩梅']]
member.insert(1,'露西')print(member)#输出['小甲鱼', '露西', '小布丁', '黑夜', '小明', '小豆', '大柱']
member.insert(1,['露西','韩梅'])print(member)#输出['小甲鱼', ['露西', '韩梅'], '小布丁', '黑夜', '小明', '小豆', '大柱']

列表元素删除

remove、del、pop

member = ['小甲鱼','小布丁','黑夜','小明','小豆','大柱']

remove 是删除首个符合条件的元素,并不是删除特定的索引

member.remove('大柱')print(member)#输出['小甲鱼', '小布丁', '黑夜', '小明', '小豆']
member.remove('小柱')print(member)#输出member.remove('小柱')ValueError: list.remove(x): x not in list

del 是根据索引(元素所在位置)来删除的

//第1个元素为member[0] --是以0开始计数的。则member[1]是指第2个元素,即里面的值'小布丁'del member[1]print(member)#输出['小甲鱼', '黑夜', '小明', '小豆', '大柱']

pop返回的是弹出的那个数值

name = member.pop(1)print(name)print(member)#输出小布丁['小甲鱼', '黑夜', '小明', '小豆', '大柱']

列表分片(slice)

切片的下标0代表顺序的第一个元素,-1代表倒序的第一个元素
切片不包括右边界,例如[0:3]代表元素0、1、2不包括3

member = ['小甲鱼','小布丁','黑夜','小明','小豆','大柱']
slice = member[1:3]print(slice)print(member)#输出['小布丁', '黑夜']['小甲鱼', '小布丁', '黑夜', '小明', '小豆', '大柱']
slice1 = member[:3]slice2 = member[1:]print(slice1)print(slice2)#输出['小甲鱼', '小布丁', '黑夜']['小布丁', '黑夜', '小明', '小豆', '大柱']//简写
//获取所有元素slice3 = member[:]print(slice3)#输出['小甲鱼', '小布丁', '黑夜', '小明', '小豆', '大柱']
//指定增长步长slice4 = member[1:5:2]print(slice4)#输出['小布丁', '小明']
//其他切片vlist=['a','b','c']vtuple=('a','b','c')vstr='abc'print (vlist[0:2]);print (vtuple[0:2]);print (vstr[0:2])#输出['a', 'b']('a', 'b')ab