Python中list的操作4-2

2 删除list中的元素

使用remove()、pop()或者clear()删除list中的元素。

2.1 使用remove()方法删除list中元素

2.1.1 remove()方法的语法

remove()方法的语法如下所示:

list.remove(value,/)

其中,value表示要删除的值。

2.1.2 相关代码

使用remove()方法删除list中元素的代码,如下所示:

>>> list1 = [1,2,3,4,5]

>>> list1.remove(2)

>>> print(list1)

[1, 3, 4, 5]

其中,使用remove()方法删除list1中值为2的元素。

2.1.3 注意事项

(1)remove()删除的是list中第一个出现的元素

remove()方法删除的是列表中第一出现的元素,代码如下所示:

>>> list1 = [1,2,3,4,5,2]

>>> list1.remove(2)

>>> print(list1)

[1, 3, 4, 5, 2]

其中,list1中包含两个值为2的元素,使用remove()方法删除值为2的元素时,索引为1的元素被删除,而索引是5的元素2没有被删除。

(2)当列表中不包含要删除的元素时,会显示异常

代码如下所示:

>>> list1

[1, 3, 4, 5, 2]

>>> list1.remove(6)

Traceback (most recent call last):

  File "<pyshell#7>", line 1, in <module>

    list1.remove(6)

ValueError: list.remove(x): x not in list

当要删除list1中值为6的元素时,因为list1中不包含改元素,因此程序会显示异常,该异常的信息是“值错误:list.remove(x):x没有在列表中”。

2.2 使用pop()方法删除list中元素

2.2.1 pop()方法的语法

pop()方法的语法如下所示:

list.pop(index=-1,/)

其中,参数index表示要删除的元素对应的索引,其默认值是-1,即默认删除的是列表中最后一个元素。pop()方法的返回值是要删除的元素值。

2.2.2 相关代码

使用pop()方法删除列表中元素的相关代码如下所示:

>>> list1

[1, 3, 4, 5, 2]

>>> a = list1.pop()

>>> print(a)

2

>>> print(list1)

[1, 3, 4, 5]

其中,pop()没有指定要删除元素的索引值,因此默认删除的是列表中的最后一个元素,并且将该元素保存在了变量a中。指定要删除元素索引值的代码如下所示:

>>> b = list1.pop(1)

>>> print(b)

3

>>> print(list1)

[1, 4, 5]

此时,通过pop()删除的是列表中索引为1的元素,并将该元素保存在变量b中。

2.2.3 注意事项

通过pop()删除指定元素时,其索引值不能超过列表中元素的最大索引值,否则程序会显示异常,代码如下所示。

>>> list1.pop(4)

Traceback (most recent call last):

  File "<pyshell#15>", line 1, in <module>

    list1.pop(4)

IndexError: pop index out of range

>>>

其中,list1元素的最大索引值是2,此时将pop()方法的参数设置为4,超出了其索引最大值。此时的异常信息为“索引错误:pop的索引超出了范围”。

2.3 使用clear()方法删除list中元素

clear()方法的作用是删除list中的所有元素,代码如下所示。

>>> print(list1)

[1, 4, 5]

>>> list1.clear()

>>> print(list1)

[]

2.4 使用del函数删除列表中的元素或列表

使用Python的内置函数del也可以删除列表中的元素或列表。

2.4.1 使用del删除列表中的元素

使用del函数,通过列表名和索引值来删除列表中指定的元素,代码如下所示。

>>> list1 = [1,2,3,4,5]

>>> del list1[1]

>>> print(list1)

[1, 3, 4, 5]

2.4.2 使用del删除列表

可以使用del函数删除整个列表,代码如下所示。

>>> del list1

>>> print(list1)

Traceback (most recent call last):

  File "<pyshell#30>", line 1, in <module>

    print(list1)

NameError: name 'list1' is not defined. Did you mean: 'list'?

其中,del不但将list1中元素全部删除,而且还删除掉了list1本身。此时打印list1中元素时,错误信息为“名称错误:list1没有定义”。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值