python pop() ,如何在Python的列表或数组中移除元素
Posted 梦想橡皮擦
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python pop() ,如何在Python的列表或数组中移除元素相关的知识,希望对你有一定的参考价值。
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 1
programming_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的列表或数组中移除元素的主要内容,如果未能解决你的问题,请参考以下文章