修复 Python 中的 ValueError: list.remove(x): X Not in List 错误

文章目录

    • 修复 Python 中的 ValueError: list.remove(x): x not in list 错误
    • 使用 if…in 在删除之前检查列表中是否存在项目
    • 逐一删除多个列表项
    • 使用 for 循环删除多个列表项

Python 使用列表将多个项目存储在单个变量中。 列表中的项目被排序并存储在从零开始的索引号中。

这些值可以重复并且可以更改。 您可以添加、更改和删除列表中的项目。

remove() 方法从列表中删除指定的项目。 删除项目时,有时您可能会遇到错误,提示 list.remove(x): x not in list

您在 remove() 方法中指定的项目不在列表中。 本教程将教您在 Python 中从列表中删除项目的正确方法。

修复 Python 中的 ValueError: list.remove(x): x not in list 错误

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 "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list

使用 if…in 在删除之前检查列表中是否存在项目

您可以使用 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 循环删除多个列表项

另一种方法是使用 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 中处理它。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年11月9日
下一篇 2023年11月9日

相关推荐