集合

2019-01-21  本文已影响2人  5f2a6061653d

集合是由一组无序排列且不重复的元素组成,具体示例如下:

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)

运行结果如下图所示。


image.png

在上例中,第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()函数将集合转换为列表,此时列表中的元素也是不重复的。

上一篇 下一篇

猜你喜欢

热点阅读