您现在的位置是:首页 > 技术教程 正文

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

admin 阅读: 2024-03-24
后台-插件-广告管理-内容页头部广告(手机)

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

pop函数使用详解

  • 1、按照索引删除元素
    • 1.1、正数索引
    • 1.2、负数索引
    • 1.3、不指定索引
  • 2、返回被删除的元素
  • 3、不同类型的元素
  • 4、常见错误

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

语法

list.pop( index )
  • 1

参数

  • index :(可选)需要删除的元素的索引值

返回值

  • 返回被删除的元素

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

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

输出:

[1, 3]
  • 1

1、按照索引删除元素

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

1.1、正数索引

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

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

输出:

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

指定的索引不能超过列表的「长度」,否则会报错 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
  • 5

输出:

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

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

在这里插入图片描述

1.3、不指定索引

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

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

输出:

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

2、返回被删除的元素

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

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

输出:

4
  • 1

3、不同类型的元素

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

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

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

输出:

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

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

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

输出:

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

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

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

输出:

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

4、常见错误

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

在这里插入图片描述

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

在这里插入图片描述

标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索