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

pop函数使用详解

目录

pop函数使用详解

1、按照索引删除元素

1.1、正数索引

1.2、负数索引

1.3、不指定索引

2、返回被删除的元素

3、不同类型的元素

4、常见错误


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

语法

list.pop( index )

参数

  • 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]

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/141263.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java多线程编程秘籍:各种方案一网打尽,不要错过!

一、多线程实现方式 Java 中实现多线程的方式主要有四种: 继承 Thread 类:这是一种最简单的实现方式,直接继承 Thread 类,重写 run() 方法即可。实现 Runnable 接口:这是一种更加灵活的实现方式,不需要继承…

Zigbee智能家居方案设计

背景 目前智能家居物联网中最流行的三种通信协议,Zigbee、WiFi以及BLE(蓝牙)。这三种协议各有各的优势和劣势。本方案基于CC2530芯片来设计,CC2530是TI的Zigbee芯片。 网关使用了ESP8266CC2530。 硬件实物 节点板子上带有继电器…

Git精讲(一)

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、Git初识1、提出问题2、如何解决--版本控制器3、注意事项 二、Git 安装1、Linux-centos2、…

目标检测问题总结

目标检测问题总结 目标检测二阶段和一阶段的核心区别目标检测二阶段比一阶段的算法精度高的原因1. 正负样本不平衡2.样本的不一致性 如何解决目标检测中遮挡问题如何解决动态目标检测FPN的作用如何解决训练数据样本过少的问题IOU代码实现NMS代码实现NMS的改进思路 目标检测二阶…

数据结构-堆排序及其复杂度计算

目录 1.堆排序 1.1 向上调整建堆 1.2 向下调整建堆 2. 两种建堆方式的时间复杂度比较 2.1 向下调整建堆的时间复杂度 2.2 向上调整建堆的时间复杂度 Topk问题 上节内容,我们讲了堆的实现,同时还包含了向上调整法和向下调整法,最后我们…

Linux_磁盘管理_df命令

1、df命令是用来干什么的 df的全称是disk free,意为“磁盘空间”。 使用df命令可以查看系统中磁盘的占用情况,有哪些文件系统,在什么位置(挂载点),总空间,已使用空间,剩余空间等。…

C++ [继承]

本文已收录至《C语言和高级数据结构》专栏! 作者:ARMCSKGT 继承 前言正文继承的概念及定义继承的概念继承的定义重定义 基类和派生类对象赋值转换派生类中的默认成员函数隐式调用显示调用 继承中的友元与静态成员友元静态成员 菱形继承概念 虚继承原理继…

讲座录播 | 邹磊教授:图数据库的概念和应用

2023年10月16日 由中国计算机学会主办的 “CCF Talk”直播间 进行了题目为 术语解读:“图计算”的内涵与应用 主题直播活动 讲座吸引7708人观看 图作为一种灵活表达复杂关联关系的数据结构,目前已广泛地应用于社会治理、医疗健康、电网分析、计算材料、计算育…

【MySQL】事务(中)

文章目录 事务异常与产出结论手动提交 和自动提交 对 回滚的区别 事务隔离性理论如何理解隔离性?MySQL的隔离级别事务隔离级别的查看设置隔离级别 事务异常与产出结论 在没有启动事务之前,account表中存在孙权和刘备的数据 在启动事务后, 向 …

【LIUNX】配置缓存DNS服务

配置缓存DNS服务 A.安装bind bind-utils1.尝试修改named.conf配置文件2.测试nslookup B.修改named.conf配置文件1.配置文件2.再次测试 缓存DNS服务器:只提供域名解析结果的缓存功能,目的在于提高数据查询速度和效率,但是没有自己控制的区域地…

洛谷P1923 【深基9.例4】求第 k 小的数(java)

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.StreamTokenizer; import java.util.Arrays; import java.util.Scanner; //输入n个数字ai,输出这些数字的第k小的数。最小的数是第0小。 public cla…

高级数据分析方法与模型

前言 数据思维练习不仅要熟练地掌握了分析工具,还要掌握大量的数据分析方法和模型。 这样得出的结论不仅具备条理性和逻辑性,而且还更具备结构化和体系化,并保证分析结果的有效性和准确性。今天从以下6个维度36种分析模型和方法逐个简略介绍…

工作记录--(用HTTPS,为啥能被查出浏览记录?如何解决?)---每天学习多一点

由于网络通信有很多层,即使加密通信,仍有很多途径暴露你的访问地址,比如: DNS查询:通常DNS查询是不会加密的,所以,能看到你DNS查询的观察者(比如运营商)是可以推断出访问…

【蓝桥杯选拔赛真题67】Scratch鹦鹉学舌 少儿编程scratch图形化编程 蓝桥杯选拔赛真题解析

目录 scratch鹦鹉学舌 一、题目要求 编程实现 二、案例分析 1、角色分析

(三)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB

一、七种算法(DBO、LO、SWO、COA、LSO、KOA、GRO)简介 1、蜣螂优化算法DBO 蜣螂优化算法(Dung beetle optimizer,DBO)由Jiankai Xue和Bo Shen于2022年提出,该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁…

4.CentOS7安装MySQL5.7

CentOS7安装MySQL5.7 2023-11-13 小柴你能看到嘛 哔哩哔哩视频地址 https://www.bilibili.com/video/BV1jz4y1A7LS/?vd_source9ba3044ce322000939a31117d762b441 一.解压 tar -xvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz1.在/usr/local解压 tar -xvf mysql-5.7.44-…

高速高精运动控制,富唯智能AI边缘控制器助力自动化行业变革

随着工业大数据时代的到来,传统控制与决策方式无法满足现代数字化工厂对工业大数据分析与决策的需求,AI边缘控制器赋能现代化智慧工厂,实现工业智造与行业变革。 富唯智能AI边缘控制器,基于x86架构的IPC形态产品,通过…

用Powershell实现:删除所有不是与.json文件重名的.jpg文件

# 指定要搜索的目录路径 $directoryPath "C:\path\to\your\directory"# 获取该目录下的所有.jpg和.json文件 $jpgFiles Get-ChildItem -Path $directoryPath -Filter *.jpg $jsonFiles Get-ChildItem -Path $directoryPath -Filter *.json | Select-Object -Expan…

对于联邦政府来说,零信任只是一个开始

今年早些时候,美国空军国民警卫队的一名拥有绝密安全许可的成员向社交媒体平台 Discord 泄露了国家安全文件。 据报道,这些文件迅速传播到其他平台,其中包含有关美国和北约在俄罗斯军事行动的敏感信息,包括有关预期武器交付的详细…

2023年汽车驾驶员(高级)证考试题库及汽车驾驶员(高级)试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2023年汽车驾驶员(高级)证考试题库及汽车驾驶员(高级)试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(…