集合是由一组无序排列且不重复的元素组成,具体示例如下:
set1 = {1, 2, 'a'}
集合使用花括号表示,元素类型可以是数字类型、字符串、元组,但不可以是列表、字典,具体示例如下:
set2 = {2 , ['a', 1]} # 错误,元素包含列表
set3 = {2 , {'a':1}} # 错误,元素包含字典
set3 = {2 , ('a', 1)} # 正确,元素包含元组
使用花括号创建的集合属于可变集合,即可以添加或删除元素,此外,还存在一种不可变集合,即不允许添加或删除元素。
接下来演示创建这两种集合的方法,如下所示。
1 set1 = set('隼') # 通过set()创建可变集合
2 print(type(set1), set1)
3 set2 = set(('隼', '鱼'))
4 set3 = set(['隼', '鱼'])
5 print(set2, set3)
6 fset1 = frozenset('鱼') # 通过frozenset()创建可变集合
7 print(type(fset1))
8 print(fset1)
运行结果如下图所示。

在上例中,第1行通过set()函数创建可变集合并将字符串中去重后的字符作为集合的元素,第3行将元组作为set()函数的参数创建集合set2,第4行将列表作为set()函数的参数创建集合set3,第6行通过frozenset ()函数创建不可变集合。
集合的一个重要用途是将一些数据结构中的重复元素去除,如下所示。
1 list1 = [1, 2, 3, 4,5, 4, 3, 2, 1]
2 set1 = set(list1) # 将列表转换为集合并去重
3 list2 = list(set1) # 将集合转换为列表
4 print(list2)
运行结果如下图所示。

在上例中,第2行通过set()函数将列表转换为集合,集合中的元素是不重复的,第3行通过list()函数将集合转换为列表,此时列表中的元素也是不重复的。
网友评论