1、remove() 根据元素值来删除
删除列表中指定值的第一个匹配项,一次删除一个元素,如果元素重复则删除第一个。如果元素不存在就抛出异常 ValueError。无返回值。
语法格式:list_name.remove(element)
参数说明:
element :要删除的对象。
代码演示:
lst = ['hello','world',90,'hello','python',10]
print('原列表lst:',lst,id(lst))
# 一次只删除一个元素,如果重复则删除第一个
lst.remove('hello')
print('删除 hello 后的列表lst:',lst,id(lst)) # ['world', 90, 'hello', 'python', 10]
lst.remove(90)
print('删除 90 后的列表lst:',lst,id(lst))
如果要删除的元素不存在,就会抛出异常 ValueError。
lst = ['hello','world',90,'hello','python',10]
# 如果要删除的元素不存在,则抛出异常ValueError
lst.remove(66) # ValueError: list.remove(x): x not in list
2、pop() 根据索引删除元素
删除一个指定索引位置上的元素,如果不指定索引,则删除列表的最后一个元素。指定的索引不存在,抛出异常 IndexError。
语法格式:list_name.pop(index)
参数说明:
index:索引位置,默认为-1,即列表最后一个元素。
返回值:返回被删除的那个元素。
代码演示:
lst = ['hello',90,'world','hello','python',10]
print('原列表lst:',lst,id(lst))
# 删除索引为2的元素
lst_pop = lst.pop(2)
print('删除的元素是:',lst_pop)
print('删除索引为2的元素后的列表:',lst,id(lst)) # ['hello', 90, 'hello', 'python', 10] 2308700110272
# 若不指定索引,删除列表最后一个元素
lp = lst.pop()
print('删除的元素是:',lp)
print('不指定索引,删除元素后的列表:',lst,id(lst)) # ['hello', 90, 'hello', 'python'] 2308700110272
如果指定的索引不存在,就会抛出异常 IndexError。
lst = ['hello',90,'world','hello','python',10]
# 如果指定索引不存在,则抛出异常
lst.pop(8) # IndexError: pop index out of range
3、clear() 删除列表所有元素
清空列表元素,只留下一个空列表,列表对象还在。
语法格式:list_name.clear()
参数说明:无参。
代码演示:
lst = ['hello','world',90,'hello','python',10]
print('清空列表之前:',lst,id(lst))
lst.clear() # 清空列表元素
print('clear清空列表之后:',lst,id(lst))
4、del关键字
可以用于删除指定索引的元素,也可以直接删除整个列表对象,还可以删除多个元素。
语法格式:
del list_name 删除整个列表。
del list_name[index] 删除指定索引的元素。
del list_name[start:stop] 删除指定区间 [start, stop) 的元素。
代码演示:
lst = [0,10,20,30,40,50,60,70,80,90]
print('原列表:',lst,id(lst))
# 删除指定索引的元素
del lst[2] # [10, 20, 40, 50]
print('删除索引为2的元素后的列表:',lst,id(lst))
# 删除指定区间的元素
del lst[3:7]
print('删除[3:7]的元素后的列表:',lst,id(lst))
使用 del 关键字删除整个列表,包括列表对象。
lst = [0,10,20,30,40,50,60,70,80,90]
# 删除列表对象
del lst
# 列表lst被删除了,多余打印它会抛出异常NameError
print(lst) # NameError: name 'lst' is not defined. Did you mean: 'lst1'?
使用 del 关键字清空列表。
lst = [0,10,20,30,40,50,60,70,80,90]
print('原列表:',lst,id(lst))
del lst[:]
print('del lst[:]后的列表:',lst,id(lst))
del list_name 和 del list_name[:] 的区别:
del list_name:清空元素的同时也删除了列表对象。
del list_name[:]:清空列表元素,列表对象还在,只剩下一个空列表。
5、切片操作 删除单个或多个元素
将不要的部分切走,用空列表替代不要的那部分。可用作删除多个对象。
语法格式:list_name[start,stop] = []
参数说明:
start:开始位置。
stop:结束位置。不包含stop。
代码演示:
lst = [0,10,20,30,40,50,60,70,80,90]
print('原列表:',lst,id(lst)) # 原列表: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90] 1492468301248
lst[1:4] = [] # 用空列表替代不要的那部分元素
print('切片后:',lst,id(lst)) # 切片后: [0, 40, 50, 60, 70, 80, 90] 1492468301248
清空列表元素:list_name[:] = []
lst = [0,10,20,30,40,50,60,70,80,90]
print('原列表:',lst,id(lst)) # 原列表: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90] 1492468301248
lst[:] = [] # 用空列表替代不要的那部分元素
print('切片后:',lst,id(lst)) # 切片后: [0, 40, 50, 60, 70, 80, 90] 1492468301248
小总结:清空列表元素的几种方式
1)clear()
lst = ['hello',10,20,'python','abc']
print('原列表:',lst)
lst.clear()
print('clear后的列表:',lst)
2)del关键字 —-> del list_name[:]
lst = ['hello',10,20,'python','abc']
print('原列表:',lst)
del lst[:]
print('del lst[:]后的列表:',lst)
3)切片操作 —-> liat_name[:] = []
lst = ['hello',10,20,'python','abc']
print('原列表:',lst)
lst[:] = []
print('lst[:] = []后的列表:',lst)
4)使用* —-> list_name *= 0 列表中的数据重复0次
lst = ['hello',10,20,'python','abc']
print('原列表:',lst,id(lst))
lst *= 0
print('lst *= 0后的列表:',lst,id(lst))
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
暂无评论内容