Python教程-如何将列表转换为集合?
在Python中,集合(Sets)和列表(Lists)是用于存储数据元素组的数据结构。然而,这两种数据结构也有一些显著的区别。具体来说,列表执行一些数学操作范围,对于查找特定元素(特别是带有重复元素的情况)和管理数据非常有用。相比之下,集合有助于执行各种操作,如并集和交集。有许多情况需要将列表转换为集合,在Python中可以使用一个简单的函数来完成。
但在开始之前,让我们了解一些关于列表和集合的概念。
Python中的列表
Python中的列表用于将多个数据元素存储在一个变量中。列表是Python中四种内置数据类型之一,用于累积数据集合。其余三种包括集合、元组和字典,所有这些数据类型都具有不同的功能和用途。
我们可以使用方括号创建列表。让我们考虑以下示例以了解列表。
示例:
# Creating a list of eight elements
mylist = ["Apple", "Mango", "Banana", "Orange", "Guava", "Mango", "Strawberry", "Grapes"]
print(mylist)
输出:
['Apple', 'Mango', 'Banana', 'Orange', 'Guava', 'Mango', 'Strawberry', 'Grapes']
解释:
在上面的示例中,我们使用方括号将元素括起来,创建了一个包含八个元素的列表。然后,我们打印了该列表供用户查看。
此外,我们还可以观察到列表中有一个元素重复出现,这意味着列表元素是有序的、可更改的,并允许重复值。列表元素的索引从[0]开始,第一个元素为[1],以此类推。
Python中的集合
集合(Sets)也用于将多个元素存储在一个变量中。集合是Python中的四种核心数据类型之一,用于累积数据集合。集合是一种无序且无索引的集合,使用大括号表示。
让我们考虑以下示例以了解集合。
示例:
# Creating a set of eight elements
myset = {"Apple", "Mango", "Banana", "Orange", "Guava", "Pineapple", "Strawberry", "Grapes"}
print(myset)
输出:
{'Strawberry', 'Mango', 'Grapes', 'Pineapple', 'Apple', 'Orange', 'Guava', 'Banana'}
解释:
在上面的示例中,我们使用大括号将元素括起来,创建了一个包含八个元素的集合。然后,我们打印了该集合供用户查看。
注意:集合是数据的无序集合。因此,我们无法确定元素将以哪种顺序出现。
理解列表和集合之间的区别
Python中列表和集合之间最重要的区别是,集合只存储唯一的项,而列表可以包含相同的元素。例如,假设我们有一个包含数学考试成绩的列表,定义为"marks = [25, 30, 21, 19, 25, 27, 25, 17, 23, 20]",列表会显示给用户每个值;然而,当我们将列表转换为集合时,它将删除重复项,只留下{25, 30, 21, 19, 25, 27, 17, 23, 20}。
另一个重要区别是,集合使用大括号,而列表使用方括号。
注意:这可能会导致混淆,因为Python中的字典也使用大括号。然而,每个数据元素包括值本身和分隔“键”的冒号。
需要记住的一点是,我们可以在集合或列表的一部分中使用整数、字符串、浮点数或其他对象,并在同一个集合或列表中混合它们。因此,与在Python中创建整数的集合一样,我们也可以在Python中创建字符串的集合,以及更多其他类型的集合。
将列表转换为集合
在Python中将列表转换为集合的过程非常简单。首先,我们必须定义一个列表。例如,假设我们有一个包含一些姓名的列表,定义为the_names = ["George", "Josh", "James", "Mark", "Carlo", "James", "Andy", "Sara", "Andy", "Victor"]。
我们可以使用set()命令将列表转换为集合,其中我们必须将要转换的列表名称放在括号之间。因此,在上述情况下,我们必须键入set(the_names)以将列表中的姓名转换为集合。此外,我们还可以将此函数赋给一个变量,如the_unique_names,并将结果显示给用户。还可以使用print(set(the_names))函数使其更有效。
让我们使用以下示例来理解:
示例:
# Creating a list of ten data elements
the_names = ["George", "Josh", "James", "Mark", "Carlo", "James", "Andy", "Sara", "Andy", "Victor"]
# Converting the above list to the set
the_unique_names = set( the_names)
# Printing the set to the users
print( the_unique_names)
输出:
{'Victor', 'George', 'Josh', 'Andy', 'Mark', 'Carlo', 'Sara', 'James'}
解释:
在上面的示例中,我们定义了一个包含十个数据元素的列表,名为the_names。然后,我们定义了一个名为the_unique_names的变量,该变量使用set()命令将列表转换为集合。最后,我们打印了集合。
结果,列表已成功转换为集合。此外,我们还可以看到,像James和Andy这样的姓名只被打印了一次。