如何在 Python 中从列表中移除重复项

2024 年 8 月 29 日 | 4 分钟阅读

当一个元素在列表中出现一次以上时,我们称之为重复项。

在本教程中,我们将学习在 Python 中从列表中删除这些重复项的各种方法。

  1. 基本方法
  2. 使用列表推导式
  3. 使用 Set()
  4. 使用 enumerate()
  5. 使用 OrderedDict

让我们详细讨论它们。

基本方法

在第一种方法中,我们将讨论使用 Python 从列表中删除重复项的基本方法。

输出

The initialized list is  [12, 15, 11, 12, 8, 15, 3, 3]
The resultant list after removing duplicates is  [12, 15, 11, 8, 3]

说明

所以,现在是时候看一看上面程序的解释了。

  1. 第一步是初始化包含重复值的列表。
  2. 之后,我们打印了这个列表,以便更容易地在输出中比较列表。
  3. 在下一步中,我们声明了一个空列表,它将保存所有唯一值,然后使用 for 循环和决策制定来检查特定元素是否存在于列表中,如果不存在,我们将将其添加到列表中。
  4. 最后,我们显示了结果列表。

在第二个程序中,我们将利用列表推导来实现我们的目标。

使用列表推导式

以下程序说明了这一点-

输出

The initialized list is  [12, 15, 11, 12, 8, 15, 3, 3]
The resultant list after removing duplicates is  [12, 15, 11, 8, 3]

说明

让我们了解一下我们在上面的程序中做了什么——

  1. 第一步是初始化包含重复值的列表。
  2. 之后,我们打印了这个列表,以便更容易地在输出中比较列表。
  3. 在下一步中,我们使用列表推导来构建相同的逻辑。
  4. 最后,我们显示了结果列表。

在第三种方法中,我们将看到如何使用 set() 来获取一个不重复元素的列表。

使用 Set()

下面的程序显示了如何做到这一点:

输出

The initialized list is  [12, 15, 11, 12, 8, 15, 3, 3]
The resultant list after removing duplicates is  [12, 15, 11, 8, 3]

说明

让我们试着理解这里发生了什么,

  1. 第一步是初始化包含重复值的列表。
  2. 之后,我们打印了这个列表,以便更容易地在输出中比较列表。
  3. 在下一步中,我们在 list() 中使用了 set() 并将 list_value1 作为参数传递,以便我们可以获得一个不重复元素的列表。
  4. 最后,我们显示了结果列表。

使用 enumerate()

现在让我们看看如何使用 enumerate() 来实现我们的目标。

以下程序说明了这一点-

输出

The initialized list is  [12, 15, 11, 12, 8, 15, 3, 3]
The resultant list after removing duplicates is  [12, 15, 11, 8, 3]

说明

  1. 第一步是初始化包含重复值的列表。
  2. 之后,我们打印了这个列表,以便更容易地在输出中比较列表。
  3. 在下一步中,我们在列表推导中使用 enumerate(),它将返回一个包含唯一元素的列表。
  4. 最后,我们显示了结果列表。

最后,在最后一个程序中,我们将看到如何使用 OrderedDict 在 Python 中删除列表中的重复项。

使用 OrderedDict

下面的程序显示了如何做到这一点:

输出

The initialized list is  [12, 15, 11, 12, 8, 15, 3, 3]
The resultant list after removing duplicates is  [12, 15, 11, 8, 3]

说明

  1. 第一步是从 collections 导入 OrderedDict,以便我们可以使用它来删除列表中的重复项。
  2. 在下一步中,我们初始化了包含重复值的列表。
  3. 之后,我们打印了这个列表,以便更容易地在输出中比较列表。
  4. 现在我们将 list_values1 传递给 OrderedDict.fromkeys()。
  5. 最后,我们显示了不包含任何重复元素的最终列表。

结论

在本教程中,我们探讨并学习了一些有趣的在 Python 中删除列表重复项的方法。