Python 使用列表将多个项目存储在单个变量中。 列表中的项目被排序并存储在从零开始的索引号中。
这些值可以重复并且可以更改。 您可以添加、更改和删除列表中的项目。
remove()
方法从列表中删除指定的项目。 删除项目时,有时您可能会遇到错误,提示 list.remove(x): x not in list。
您在 remove()
方法中指定的项目不在列表中。 本教程将教您在 Python 中从列表中删除项目的正确方法。
remove()
方法只接受一个参数。 您一次可以删除一个参数。
remove 方法删除列表中第一次出现的项目。 这意味着只有当一个项目有多个实例时,才会删除一个项目的第一个实例。
以下示例创建一个列表 mylist。
mylist=["science", "maths", "computer", "english"]
您可以使用 print()
方法查看列表中的项目。
print(mylist)
输出如下:
['science', 'maths', 'computer', 'english']
我们可以使用下面的命令从我的列表中删除计算机。
mylist.remove("computer")
接下来,确认列表中的项目。
print(mylist)
输出:
['science', 'maths', 'english']
如大家所见,计算机元素已成功从列表中删除。
现在,如果我们尝试从列表中删除计算机,您将得到 ValueError: list.remove(x): x not in list 因为计算机元素不在列表中。
mylist.remove("computer")
输出:
Traceback (most recent call last):
File "" , line 1, in <module>
ValueError: list.remove(x): x not in list
您可以使用 if...in
关键字检查该项目是否存在于列表中。
if "computer" in mylist:
mylist.remove("computer")
else:
print("computer is not in the list.")
print(mylist)
上面的示例首先检查计算机是否在列表中。 如果它存在,remove()
方法将从列表中删除该项目,最后一个命令打印更新后的列表。
如果列表中不存在,则执行 else 语句并打印列表。
输出:
computer is not in the list.
['science', 'maths', 'english']
当我们不想在输出中出现异常 ValueError 时,它会很有用。
您可以使用两种方法从 Python 中的列表中删除多个项目。 当一次删除两个或多个项目或字符串时,也可能会发生此错误。
由于 remove()
方法只接受一个参数,因此在 Python 中您必须一次删除一项。 下面是一个将列表中的两项一一删除的示例。
mylist=["science", "maths", "computer", "english"]
mylist.remove("maths")
mylist.remove("english")
print(mylist)
输出:
['science', 'computer']
另一种方法是使用 for 循环删除 Python 列表中的多个项目。 以下示例使用带有 for 循环的单个删除命令从列表中删除多个项目。
mylist=["science", "maths", "computer", "english"]
for item in ["maths","english"]:
mylist.remove(item)
print(mylist)
输出:
['science', 'computer']
现在您知道了删除列表中项目的不同方法。
如果在列表中找不到您指定的项目,则会发生 ValueError: list.remove(x): x not in list。 我们希望您现在了解问题的原因以及如何在 Python 中处理它。