如何在 Python 中检查列表是否仅包含唯一元素

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,你将学习如何在 Python 中检查列表是否仅包含唯一元素。该实验重点介绍如何使用 Python 集合(set)来定义和识别列表中的唯一元素。

本实验将指导你创建一个 Python 脚本 unique_elements.py,以演示集合的工作原理。你将创建一个包含重复元素的列表,将其转换为集合以去除重复项,然后打印原始列表和得到的唯一元素集合。通过比较原始列表和集合,你将了解如何使用集合来识别和提取唯一元素。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/DataStructuresGroup -.-> python/sets("Sets") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/sets -.-> lab-559529{{"如何在 Python 中检查列表是否仅包含唯一元素"}} python/build_in_functions -.-> lab-559529{{"如何在 Python 中检查列表是否仅包含唯一元素"}} python/data_collections -.-> lab-559529{{"如何在 Python 中检查列表是否仅包含唯一元素"}} end

定义唯一元素

在这一步中,你将学习如何使用 Python 集合(set)来定义唯一元素。集合是 Python 中的一种基本数据结构,它只存储唯一的、无序的元素。这意味着,如果你尝试向集合中添加重复元素,该元素将被直接忽略。理解集合对于从列表中去除重复项或检查集合中是否存在某个元素等任务至关重要。

让我们通过创建一个 Python 脚本来演示集合的工作原理。

  1. 打开你的 WebIDE。你应该会看到左侧有文件资源管理器,右侧有文本编辑器。

  2. 在文件资源管理器中,导航到你的项目目录:/home/labex/project

  3. 在文件资源管理器中右键单击,选择“新建文件”,创建一个名为 unique_elements.py 的新文件。

  4. 在编辑器中打开 unique_elements.py,并添加以下代码:

## Create a list with duplicate elements
my_list = [1, 2, 2, 3, 4, 4, 5]

## Convert the list to a set to remove duplicates
my_set = set(my_list)

## Print the original list and the set
print("Original List:", my_list)
print("Set of Unique Elements:", my_set)

这个脚本首先创建了一个名为 my_list 的列表,其中包含重复元素。然后,它将这个列表转换为一个名为 my_set 的集合。set() 函数会自动去除所有重复元素,只保留唯一值。最后,脚本会打印原始列表和唯一元素集合。

  1. 保存 unique_elements.py 文件。

  2. 现在,在终端中使用以下命令运行脚本:

python unique_elements.py

你应该会看到以下输出:

Original List: [1, 2, 2, 3, 4, 4, 5]
Set of Unique Elements: {1, 2, 3, 4, 5}

如你所见,集合 my_set 只包含原始列表 my_list 中的唯一元素。集合中元素的顺序可能与原始列表不同,因为集合是无序的。

这个示例展示了在 Python 中使用集合定义唯一元素的基本用法。在接下来的步骤中,你将探索更多集合的高级操作。

比较 len() 和 len(set())

在这一步中,你将学习如何使用 len() 函数来确定列表中的元素数量,并将其与从同一列表创建的集合中的唯一元素数量进行比较。这是一种用于识别列表中重复元素数量的有用技巧。

len() 函数返回对象中的项目数量。当应用于列表时,它返回包括重复项在内的元素总数。当应用于集合时,它返回唯一元素的数量。

让我们修改上一步中的 Python 脚本,以比较原始列表和唯一元素集合的长度。

  1. 在你的 WebIDE 中打开上一步创建的 unique_elements.py 文件,该文件应位于 /home/labex/project 目录下。

  2. 修改 unique_elements.py 文件,添加以下代码:

## Create a list with duplicate elements
my_list = [1, 2, 2, 3, 4, 4, 5]

## Convert the list to a set to remove duplicates
my_set = set(my_list)

## Print the length of the original list and the set
print("Length of Original List:", len(my_list))
print("Length of Set of Unique Elements:", len(my_set))

## Calculate the number of duplicate elements
num_duplicates = len(my_list) - len(my_set)
print("Number of Duplicate Elements:", num_duplicates)

在这个脚本中,我们添加了代码来计算并打印原始列表和唯一元素集合的长度。然后,我们通过从列表的长度中减去集合的长度来计算重复元素的数量。

  1. 保存 unique_elements.py 文件。

  2. 在终端中使用以下命令运行脚本:

python unique_elements.py

你应该会看到以下输出:

Length of Original List: 7
Length of Set of Unique Elements: 5
Number of Duplicate Elements: 2

这个输出显示,原始列表有 7 个元素,而唯一元素集合有 5 个元素。这些长度之间的差值(7 - 5 = 2)表明原始列表中有 2 个重复元素。

这个示例展示了如何结合使用 len() 函数和集合来识别和量化列表中的重复元素。

通过集合转换进行检查

在这一步中,你将学习如何通过将列表转换为集合并比较长度,来检查列表是否仅包含唯一元素。这是一种简洁而高效的方法,可用于确定列表中是否存在重复元素。

核心思路是,如果列表包含重复元素,将其转换为集合会减少元素数量,因为集合只存储唯一值。如果原始列表的长度与从该列表创建的集合的长度相同,那么该列表仅包含唯一元素。

让我们修改前几步中的 Python 脚本,使用集合转换来检查列表是否仅包含唯一元素。

  1. 在你的 WebIDE 中打开前几步创建的 unique_elements.py 文件,它应该位于 /home/labex/project 目录下。

  2. 修改 unique_elements.py 文件,添加以下代码:

## Create a list with or without duplicate elements
my_list = [1, 2, 3, 4, 5]  ## Example with unique elements
## my_list = [1, 2, 2, 3, 4, 5]  ## Example with duplicate elements

## Convert the list to a set
my_set = set(my_list)

## Check if the list contains only unique elements
if len(my_list) == len(my_set):
    print("The list contains only unique elements.")
else:
    print("The list contains duplicate elements.")

在这个脚本中,我们首先定义了一个列表 my_list。你可以通过注释或取消注释相应的行,选择使用包含唯一元素的示例或包含重复元素的示例。然后,我们将列表转换为集合,并比较列表和集合的长度。如果长度相等,我们打印一条消息,表明列表仅包含唯一元素;否则,我们打印一条消息,表明列表包含重复元素。

  1. 保存 unique_elements.py 文件。

  2. 在终端中使用以下命令运行脚本:

python unique_elements.py

如果你使用包含唯一元素的示例(my_list = [1, 2, 3, 4, 5]),你应该会看到以下输出:

The list contains only unique elements.

如果你使用包含重复元素的示例(my_list = [1, 2, 2, 3, 4, 5]),你应该会看到以下输出:

The list contains duplicate elements.

这个示例展示了如何使用集合转换来高效地检查列表是否仅包含唯一元素。这种技术常用于数据处理和验证任务。

总结

在本次实验中,你学习了如何使用 Python 集合来定义唯一元素。该实验涉及创建一个名为 unique_elements.py 的 Python 脚本,以演示集合的工作原理。你创建了一个包含重复元素的列表,然后使用 set() 函数将其转换为集合,该函数会自动移除所有重复元素,只保留唯一值。

脚本随后打印出原始列表和唯一元素集合,展示了如何使用集合从列表中提取唯一值。你会发现,由于集合的无序性,集合中元素的顺序可能与原始列表不同。