Python中的集合转换为列表
在本文中,我们将讨论如何在Python中将集合转换为列表。
在此之前,让我们对列表和集合进行快速复习。
列表 – 它是一个用方括号括起来的元素序列,其中每个元素之间用逗号分隔。
列表的语法是-
a = [1,2,4.5,'Python','Java']
我们可以使用以下代码打印列表并检查其类型 –
print(a)
print(type(a))
注意:该列表是可变的,这意味着我们可以更改其元素。
集合 – 它是一个无序的元素集合,其中包含在花括号内的所有唯一值。
集合的语法是-
b = {1,2,4.5,'Python','Java'}
我们可以使用以下代码打印集合并检查其类型-
print(b)
print(type(b))
将一个集合转换为字符串的不同方法:
- 使用 list()
- 使用 sorted()
- 使用
*set
- 使用 for循环
- 使用 frozenset
使用list()
在第一种方法中,我们将使用 list() 来转换集合。
下面的程序演示了如何使用该方法-
#declaring a set
subjects={'C','C++','Java','Python','HTML'}
#using list()
res=list(subjects)
print(res)
输出:
['C','C++','Java','Python','HTML' ]
说明:
让我们了解一下在上面的程序中我们做了什么-
- 我们首先声明了一个包含不同科目名称的集合。
- 然后,我们使用 list() 函数,其中我们传递了集合’subjects’。
- 在执行程序后,将显示所需的输出。
使用sorted()
第二种方法是使用 sorted() 函数将集合转换为列表。
下面的程序演示了相同的内容-
#defining a function
def convert_set(set):
return sorted(set)
subjects={'C','C++','Java','Python','HTML'}
res = set(subjects)
print(convert_set(res))
输出:
['C','C++','Java','Python','HTML' ]
解释:
让我们理解一下上面程序中所做的事情-
- 这里我们做的第一件事是创建一个函数,该函数以一个集合作为参数并返回预期的输出。
- 在此之后,我们声明了一个包含不同科目名称的集合类型变量。
- 下一步是将我们的集合传递给函数“convert_set”。
- 在执行程序时,将显示所需的输出。
使用*set
在第三种方法中,我们将使用 *set
将集合转换为Python中的列表。
*set
将集合解开并放在列表中。
以下程序显示了如何实现-
#defining a function
def convert_set(set):
return [*set, ]
res = set({'C','C++','Java','Python','HTML'})
print(convert_set(res))
解释:
让我们理解一下我们在上面的程序中所做的事情-
- 我们在这里做的第一件事是创建一个函数,该函数以一个集作为参数并返回预期的输出。
- 在此之后,我们将包含不同学科名称的集合的值传递给 set()。
- 下一步是将我们的集合传递给函数’convert_set’。
- 在执行程序时,将显示所需的输出。
输出
['C','C++','Java','Python','HTML' ]
使用 for 循环
在第四种方法中,我们将使用 for 循环来将Python中的集合转换为列表。
下面的程序演示了相同的操作-
#using for loop
subjects = set({'C','C++','Java','Python','HTML'})
res = []
for i in subjects:
res.append(i)
输出:
['C','C++','Java','Python','HTML' ]
让我们来理解一下上面的程序我们所做的事情-
- 首先,我们在这里声明了一个包含不同科目名称的集合。
- 然后,我们声明了一个空列表res。
- 我们在这里使用了for循环,它逐个元素从集合中取出并添加到列表中。
- 执行程序后,将显示所需的输出。
使用frozenset
最后,在最后一种方法中,我们将使用 frozenset 将集合转换为Python中的列表。
集合和frozenset之间的区别是集合是可变的,而frozenset是不可变的。
下面的程序显示了如何完成此操作-
subjects = frozenset({'C','C++','Java','Python','HTML'})
res = list(subjects)
print(res)
输出:
['C','C++','Java','Python','HTML' ]
解释:
让我们了解一下上面程序中的做法-
- 我们首先声明了一个包含不同科目名称的 frozenset 。
- 然后,我们使用了 list() ,其中我们传递了集合 ‘subjects’。
- 在执行程序时,将显示所需的输出。
结论
在本教程中,我们介绍了Python中将集合转换为列表的不同方法。