如何将列表转换为集合?

17 Mar 2025 | 4 分钟阅读

集合 (Set) 和 列表 (List) 都是 Python 中的数据结构,用于存储数据元素组。然而,这两种数据结构之间也存在一些显著的差异。具体来说,列表执行一些数学运算,这对于搜索特定元素(尤其是带有重复项和管理数据)非常有用。相比之下,集合有助于执行多种功能,如并集和交集。在 Python 中,我们有很多理由需要完成列表到集合的转换,并且可以使用一个简单的函数来实现这一点。

但在我们开始之前,让我们先了解一些关于列表和集合的概念。

Python 中的列表

Python 中的列表 用于在一个变量中存储多个数据元素。列表是 Python 中用于累积数据集合的四种内置数据类型之一。其余三种包括集合、元组和字典,所有这些数据类型都具有不同的能力和用途。

我们可以使用方括号创建列表。让我们看一个下面的例子来理解列表。

示例

输出

['Apple', 'Mango', 'Banana', 'Orange', 'Guava', 'Mango', 'Strawberry', 'Grapes']

说明

在上面的示例中,我们使用方括号将八个元素括起来创建了一个列表。然后,我们为用户打印了该列表。

此外,我们还可以注意到列表中有一个重复的元素,这意味着列表元素是有序的、可变的,并且允许重复值。列表元素的索引从第一个元素的 **[0]** 开始,第二个元素的 **[1]** 开始,依此类推。

Python 中的集合

集合 也用于在一个变量中存储多个元素。集合是 Python 中用于累积数据集合的四种核心数据类型之一。集合是无序且无索引的集合,用花括号表示。

让我们看一个下面的例子来理解集合。

示例

输出

{'Strawberry', 'Mango', 'Grapes', 'Pineapple', 'Apple', 'Orange', 'Guava', 'Banana'}

说明

在上面的示例中,我们使用花括号将八个元素括起来创建了一个集合。然后,我们为用户打印了该集合。

注意:集合是无序的数据集合。因此,我们无法确定元素的出现顺序。

理解列表和集合之间的区别

Python 中集合和列表之间最显著的区别在于,集合只存储唯一项,而列表可以包含相同的元素。例如,假设我们有一个名为“marks”的数学测试分数列表,定义为 **"marks = [25, 30, 21, 19, 25, 27, 25, 17, 23, 20]"**,该列表会向用户显示每个值;然而,当我们将其转换为集合时,它将删除重复项,留下 **{25, 30, 21, 19, 27, 17, 23, 20}**。

另一个显著的区别是,集合使用花括号,而列表使用方括号。

注意:事情可能会变得令人困惑,因为 Python 中的字典也使用花括号。然而,每个数据元素都包含值本身以及分隔“键”的冒号。

需要记住的是,我们可以将整数、字符串、浮点数或其他对象用作集合或列表的片段,并将它们混合在同一个列表或集合中。因此,就像在 Python 中拥有一个整数集合一样,我们也可以在 Python 中创建一个字符串集合,等等。

将列表转换为集合

在 Python 中将列表转换为集合的过程非常简单。首先,我们必须定义一个列表。例如,假设我们有一个名为“the_names”的列表,其中包含几个名字,定义为 **the_names = ["George", "Josh", "James", "Mark", "Carlo", "James", "Andy", "Sara", "Andy", "Victor"]**。

我们可以使用 **set()** 命令将列表转换为集合,其中我们需要将需要转换的列表名称插入到括号中。因此,在上述情况下,我们必须输入 **set(the_names)** 才能将列表中存在的名称转换为集合。此外,我们可以将此函数分配给一个变量,例如“**the_unique_names**”,并向用户显示结果。为了更高效,您也可以使用 **print( set( the_names))** 函数。

让我们通过以下示例来理解这一点

示例

输出

{'Victor', 'George', 'Josh', 'Andy', 'Mark', 'Carlo', 'Sara', 'James'}

说明

在上面的示例中,我们将列表定义为 **the_names**,其中包含十个数据元素。然后,我们定义了一个变量 **the_unique_names**,该变量使用 **set()** 命令将列表转换为集合。最后,我们打印了该集合。

结果,列表已成功转换为集合。我们还可以注意到,像 James 和 Andy 这样的名字只出现了一次。