python pop() ,如何在Python的列表或数组中移除元素

在本文中,你将学习如何使用Python内置的 pop() 方法,最后,你将知道如何使用 pop() 从 Python 中的列表中删除元素。

以下是我们将要讨论的内容:

  • Python列表概述
  • 如何使用 pop() 删除列表项
    • pop() 方法的语法
    • pop() 方法不带参数的用法
    • pop() 可选参数
    • 处理常见错误

什么是 Python 列表以及如何创建它

列表是 Python 中的内置数据类型,它充当容器,存储数据集合。使用方括号创建列表,如下所示:

# 空列表
my_list = []print(my_list)
print(type(my_list))# 输出#[]
#<class 'list'>

你还可以使用 list() 构造函数创建列表:

# 空列表
my_list = list()print(my_list)
print(type(my_list))# 输出#[]
#<class 'list'>

正如你在上面看到的,一个列表可以包含 0 个元素,在这种情况下,它被认为是一个空列表。

列表还可以包含普通元素或列表元素。列表元素包含在方括号内,每个项目之间用逗号 , 分隔。

列表项可以是同构的,即相同的类型。

例如,你可以有一个只有数字的列表,或者一个只有字符串的列表:

# a list of integers
my_numbers_list = [10,20,30,40,50]# a list of strings
names = ["Josie", "Jordan","Joe"]print(my_numbers_list)
print(names)#output#[10, 20, 30, 40, 50]
#['Josie', 'Jordan', 'Joe']

列表项也可以是异构的,即它们不同的数据类型。

这就是将列表与数组区分的原因。数组要求内部元素具有相同的数据类型,而列表则不需要。

# 列表包含字符串,整型,浮点型
my_information = ["John", "Doe", 34, "London", 1.76]print(my_information)#output#['John', 'Doe', 34, 'London', 1.76]

列表是可变的,意味着它可被修改。可以更新列表项,可以删除列表项,还可以向列表添加新项。

使用 pop() 从列表中删除元素

在接下来的章节中,你将学习如何使用 pop() 方法从 Python 的列表中删除元素。

pop() 语法概述

pop() 方法的语法如下

list_name.pop(index)

让我们来分析一下:

  • list_name:列表变量名;
  • 内置的 pop() 方法仅需要一个可选参数;
  • 可选参数是要删除元素的索引

如何使用 pop() 无参数方法

默认情况下,如果没有指定索引, pop() 方法将删除列表中包含的最后一项。语法如下:

list_name.pop()

让我们来看一个例子:

# 声明一个列表
programming_languages = ["Python", "Java", "JavaScript"]# 打印列表
print(programming_languages)# 删除列表元素,即 "JavaScript"
programming_languages.pop()# 打印列表
print(programming_languages)#output#['Python', 'Java', 'JavaScript']
#['Python', 'Java']

删除元素之后, pop() 还返回它。

可以将被删除的元素保存在一个变量中以供以后使用,这将非常有帮助。

#list of programming languages
programming_languages = ["Python", "Java", "JavaScript"]#print initial list
print(programming_languages)#remove last item, which is "JavaScript", and store it in a variable
front_end_language = programming_languages.pop()#print list again
print(programming_languages)#print the item that was removed
print(front_end_language)#output#['Python', 'Java', 'JavaScript']
#['Python', 'Java']
#JavaScript

pop() 可选参数

若要删除特定的列表元素,你需要指定该项的索引号。具体来说,将元素的索引作为参数传递给 pop() 方法。
Python 中的索引以及所有通用编程语言都是从 0 开始的,这意味着列表中的第一个元素的索引为0。第二个元素的索引为1,依此类推。
因此,要删除列表中的第一个元素,需要指定索引 0 作为 pop() 方法的参数。

pop() 返回被删除的元素。它能够存储在一个变量中,就上一节一样。

#list of programming languages
programming_languages = ["Python", "Java", "JavaScript"]#remove first item and store in a variable
programming_language = programming_languages.pop(0)#print updated list
print(programming_languages)#print the value that was removed from original list
print(programming_language)#output#['Java', 'JavaScript']
#Python

让我们看看另一个例子:

#list of programming languages
programming_languages = ["Python", "Java", "JavaScript"]#remove "Java" from the list
#Java is the second item in the list which means it has an index of 1programming_languages.pop(1)#print list
print(programming_languages)#output
#['Python', 'JavaScript']

在上面的示例中,列表中有一个特定的值需要删除。为了成功删除特定值,需要知道它的位置(索引)。

pop() 方法使用时常见错误

请记住,如果你尝试删除一个等于或大于列表长度位置的元素,将得到一个错误,即 IndexError
让我们看看下面这个例子,它展示了如何查找一个列表的长度:

#list of programming languages
programming_languages = ["Python", "Java", "JavaScript"]#find the length of the list
print(len(programming_languages))#output
#3

要查找列表的长度,可以使用 len() 函数,它返回列表中包含的项的总数。
如果我尝试删除位置3的一个元素,它等于列表的长度,会得到一个错误,说传递的索引超出了范围:

#list of programming languages
programming_languages = ["Python", "Java", "JavaScript"]programming_languages.pop(3)#output# line 4, in <module>
#    programming_languages.pop(3)
#IndexError: pop index out of range

如果我试图删除位置4或更大位置索引的元素,同样的错误也会出现。
类似地,如果你在一个空列表上使用 pop() 方法,也会引发一个异常:

#empty list
programming_languages = []#try to use pop() on empty list
programming_languages.pop()#print updated list
print(programming_languages)#output
#line 5, in <module>
#    programming_languages.pop()
#IndexError: pop from empty list

总结

现在你知道了如何使用 pop() 方法删除 Python 中的列表项,我希望你觉得这篇文章有用。

python pop() ,如何在Python的列表或数组中移除元素相关推荐

  1. 如何删除数组中的某个元素(C/Python/Java/Go/MATLAB)

    文章目录 前言 一.C.Python.Java.Go.Matlab语言优势对比 二.如何删除数组中的某个元素,在各语言中的实现 1.C语言 2.Python 3.Java 4.Go语言 5.MATLA ...

  2. 怎样将列表、数组中的每个数都保留两位有效数字

    作者:冯德平(山野雪人) #怎样将列表.数组中的每个数都保留两位有效数字 #注意不能直接用round(df,2),应该用np.round(df,2) import numpy as np#例1: li ...

  3. python psycopg2_如何在Python上用“pip”安装psycopg2?

    如何在Python上用"pip"安装psycopg2? 我正在使用virtualenv,我需要安装"psycopg2". 我做了以下事情:pip install ...

  4. python boolean_如何在Python中使用boolean’和’

    本问题已经有最佳答案,请猛点这里访问. 在c中,我们可以使用&&(布尔和),如下所示: int i = 5; int ii = 10; if(i == 5 && ii ...

  5. python中max()、min()获得最大值与最小值_(Python基础教程之十)Python max()和min()–在列表或数组中查找最大值和最小值...

    使用**max()和min()**方法在可比较元素的集合(例如列表,集合或数组)中查找最大(或最小)项的Python示例. 1. Python max() function max() 该功能用于– ...

  6. chatgpt赋能python:如何在Python中保存文件到指定文件夹

    如何在Python中保存文件到指定文件夹 如果您正在使用Python编写应用程序或脚本,您可能需要将输出保存到特定的文件夹中. 本文将介绍如何在Python中保存文件到指定文件夹. 使用os模块创建文 ...

  7. chatgpt赋能python:如何在Python中取消换行?

    如何在Python中取消换行? 如果你是一名经验丰富的Python工程师,你一定会遇到在输出过程中需要取消换行的情况.在本文中,我将告诉你如何使用Python取消换行. 什么是换行? 在计算机编程中, ...

  8. python去重复排序_Python实现删除排序数组中重复项的两种方法示例

    本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不 ...

  9. python获取数组中最多的元素

    获取数组中数量最多的元素,也就是最频繁的那个元素,方法有很多,下面是3种最简单的: 1.用max函数 sample = [1,2,3,3,3,4,5,5] max(set(sample), key=s ...

最新文章

  1. db29.7时间格式化为时间到时分秒_python基础系列 | 示例讲解时间模块datetime
  2. 深入解析C++编程中的静态成员函数
  3. 李萍matlab实验报告,基于实验报告自动批阅的系统分析
  4. 关于hbase的read操作的深入研究 region到storefile过程
  5. java面试题(转载其他人,方便日常看)
  6. LeetCode题库整理【Java】—— 2 两数相加
  7. spark基础之基于yarn两种提交模式分析
  8. vue中对话框关闭以后清空对话框中input,select内容
  9. oracle报错12516,Oracle连接数太多报错-ORA-12516异常
  10. Kisssoft软件在行星齿轮设计上的初试
  11. python机器视觉车牌识别_车牌识别系统中的机器视觉技术
  12. JS里给日期增加n个月的方法
  13. 小程序容器进一步强化国家政务服务平台功能
  14. qq实验报告c语言,C语言实现QQ密码大盗(没试验过,下回验证一下)
  15. LA5713 秦始皇修路 (mst)
  16. Python实战 | 完美爬取LOL全英雄皮肤高清原画 JavaScript动态网页
  17. 【最新】半小时教你制作出属于自己的QQ机器人【保姆级】
  18. 农村信用社改革试点专项借款管理办法(银发[2003]181号)
  19. 硬盘分区-从其他盘划分容量到c盘
  20. 蓝牙学习笔记之建立蓝牙连接的过程

热门文章

  1. 十个细节透露女人心思
  2. 弹性云服务器的规格系列,新睿云简析云服务器的配置规格怎么选择?
  3. 2018最新精选的Go框架,库和软件的精选列表 二
  4. 3,uniapp功能之—蓝牙秤,连接蓝牙秤获取重量实时显示在页面上(坤宏的蓝牙秤)
  5. hadoop配置、运行错误总结一
  6. Facebook 新品 Lexical, 比 Quill 更好用的 Editor ?
  7. Erlang/OTP:基于Behaviour的回调函数
  8. 小学计算机老师师德师风演讲稿,小学教师师德师风演讲稿【五篇】
  9. 开发者论坛一周精粹(第七十一期) 国外企业备案解答 邮箱只能发不能收...
  10. proteus教程——cc4014串行输入