【Python】列表元素的 删除 *** 作(remove()、pop()、切片、clear

【Python】列表元素的 删除  *** 作(remove()、pop()、切片、clear,第1张

先导知识

代码
# 列表元素的删除 *** 作
lst = [10, 20, 30, 40, 50, 60, 30]
lst.remove(30)
print(lst)

可以看出,是把第一个30 给remove了:

# 列表元素的删除 *** 作
lst = [10, 20, 30, 40, 50, 60, 30]
lst.remove(30)
print(lst)

# pop()根据索引移除元素
lst.pop(1)
print(lst)

根据索引是1,把元素20移除:

# 列表元素的删除 *** 作
lst = [10, 20, 30, 40, 50, 60, 30]
lst.remove(30)
print(lst)

# pop()根据索引移除元素
lst.pop(1)
print(lst)

# 如果不写元素,则默认移除列表中最后一个元素
lst.pop()
print(lst)

pop(),如果不写元素,则默认移除列表中最后一个元素:

# 列表元素的删除 *** 作
lst = [10, 20, 30, 40, 50, 60, 30]
lst.remove(30)
print(lst)

# pop()根据索引移除元素
lst.pop(1)
print(lst)

# 如果不写元素,则默认移除列表中最后一个元素
lst.pop()
print(lst)

print('-------------切片 *** 作,至少删除一个元素,将产生一个新的列表对象-----------------------------')
new_lst = lst[1:3]
print('原列表:', lst)
print('切片所得列表:', new_lst)

这种 切片之后,原列表并没有发生变化,知识将索引为1和2的元素切掉赋给了一个新的列表:

下面 *** 作,即可以“删除”原列表中的指定内容:

# 列表元素的删除 *** 作
lst = [10, 20, 30, 40, 50, 60, 30]
lst.remove(30)
print(lst)

# pop()根据索引移除元素
lst.pop(1)
print(lst)

# 如果不写元素,则默认移除列表中最后一个元素
lst.pop()
print(lst)

print('-------------切片 *** 作,至少删除一个元素,将产生一个新的列表对象-----------------------------')
new_lst = lst[1:3]
print('原列表:', lst)
print('切片所得列表:', new_lst)

print('-----------切片,不产生新的列表对象,而是删除原列表中的内容---------------------------------')
lst[1:3] = []  # 使用一个空的列表替换
print(lst)


代码紧接上面,重复的不再写:

'''清除列表中的所有元素'''
lst.clear()
print(lst)

可以看出,这时候,列表为空了:

'''del语句将列表对象删除'''
del lst
print(lst) # 执行之后,列表将删除,故 报错:NameError: name 'lst' is not defined

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/570311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存