文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python 列表 pop()函数使用详解

2023-09-04 16:10

关注

「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
「推荐专栏」:小白零基础《Python入门到精通》

pop函数使用详解

pop() 可以「删除」列表中的元素(默认最后一个)。

语法

list.pop( index )

参数

返回值

实例:删除列表中第一个元素

list1 = [1, 2, 3]list1.pop(1)print(list1)

输出:

[1, 3]

1、按照索引删除元素

pop() 可以根据指定的「索引」,删除对应「位置」的元素。

1.1、正数索引

索引为「正数」时,从 0 开始,按照从左往右的顺序删除

list1 = [1, 2, 3, 4]print('删除前:', list1)list1.pop(0)print('删除后:', list1)

输出:

删除前: [1, 2, 3, 4]删除后: [2, 3, 4]

指定的索引不能超过列表的「长度」,否则会报错 IndexError: pop index out of range

在这里插入图片描述


1.2、负数索引

索引为「负数」时,从 1 开始,按照从右往左的顺序删除

list1 = [1, 2, 3, 4]print('删除前:', list1)list1.pop(-1)print('删除后:', list1)

输出:

删除前: [1, 2, 3, 4]删除后: [1, 2, 3]

索引超过列表「长度」时,同样会报错 IndexError: pop index out of range

在这里插入图片描述

1.3、不指定索引

「不指定索引」时,默认是 -1,也就是删除最后一个元素

list1 = [1, 2, 3, 4]print('删除前:', list1)list1.pop()print('删除后:', list1)

输出:

删除前: [1, 2, 3, 4]删除后: [1, 2, 3]

2、返回被删除的元素

pop() 可以理解为「弹出」元素,它会返回被删除的元素,我们可以打印被删除的元素,来判断有没有删错。

list1 = [1, 2, 3, 4]print(list1.pop())

输出:

4

3、不同类型的元素

上面的案例中,我们删除的都是一个元素,这个很好理解。

对于列表中「嵌套」列表这类情况,会把列表整体当做一个元素删掉,比如下面这样:

list1 = [1, 2, [1, 2, 3], 4]print('删除前:', list1)list1.pop(2)print('删除前:', list1)

输出:

删除前: [1, 2, [1, 2, 3], 4]删除前: [1, 2, 4]

列表中嵌套元祖、字典时,也同样整个删除

list1 = [1, 2, {1, 2, 3}, 4]print('删除前:', list1)list1.pop(2)print('删除前:', list1)

输出:

删除前: [1, 2, {1, 2, 3}, 4]删除前: [1, 2, 4]

即使嵌套很多层,也会整个删除

list1 = [1, 2, [1, [1, [1, 2]]], 4]print('删除前:', list1)list1.pop(2)print('删除前:', list1)

输出:

删除前: [1, 2, [1, [1, [1, 2]]], 4]删除前: [1, 2, 4]

4、常见错误

列表的 pop() 一次只能删除一个元素,否则会报错 TypeError: pop expected at most 1 argument

在这里插入图片描述

pop() 的参数必须是int,只能根据索引删除元素,否则会报错 TypeError: ‘str’ object cannot be interpreted as an integer

在这里插入图片描述

来源地址:https://blog.csdn.net/wangyuxiang946/article/details/131595288

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯