1、集合(set)的简介及创建

1、集合的简介

  1. 集合是一个可变的数据类型,但其中存储的元素必须为不可变(可哈希)数据类型;
  2. 集合无序
  3. 元素不可重复(如其中有重复元素,则在创建时会删除重复的元素,只保留重复元素中的一个)
  4. 集合的表示通过{}来进行
  5. python中集合不能嵌套,也不能嵌套列表等类型,原因如第一条所讲,集合的元素类型只能是不可变数据类型,如整数,浮点数,字符串,元组。

2、集合的创建(实例)

用两种方法分别创建名为set1和set2的集合

python集合中元素的修改 python中集合元素可以重复吗_集合的运算


从上面例子可以看出,集合创建的方式有两种,一种是用“{}”创建,基本语法为{element1,...,elementn},另一种是用“set()”方法创建,基本语法为set({element1,...,elementn}),不过需要注意的是,空集合只能用set方法进行创建,不能直接用“{}”方法创建,因为直接用“{}”创建出来的是空字典;用set方法创建空集合的方法:set({})

2、集合相关的基本操作

1、往集合里面添加数据

  1. add()方法:往集合里面添加数据,位置为集合的末尾;基本语法为集合名.add(element)实例:
  2. python集合中元素的修改 python中集合元素可以重复吗_python集合类型简介_02


  3. update()方法:有点类似于列表的extend()方法,将元素拆分为最小元素加入原集合
    实例:

2、删除集合中的数据或者集合本身

  1. pop()方法:随机删除集合中的一个值,然后将其返回;基本语法为集合名.pop()实例:
  2. python集合中元素的修改 python中集合元素可以重复吗_集合与其他数据类型之间的转换_03


  3. remove()方法:删除集合中指定的元素,若该元素不存在,则报错;基本语法为集合名.remove(element)实例:
  4. python集合中元素的修改 python中集合元素可以重复吗_集合的运算_04


  5. clear()方法:清空集合中的数据,基本语法集合名.clear()实例:
  6. python集合中元素的修改 python中集合元素可以重复吗_集合的运算_05


  7. del语句:删除集合本身,基本语法为del 集合名实例:
  8. python集合中元素的修改 python中集合元素可以重复吗_python集合中元素的修改_06


3、搜索集合中的数据

由于集合的无序性,搜索集合的数据时只能使用for循环来实现,具体的方法以一个实例来说明。

实例: 输出集合的所有元素

python集合中元素的修改 python中集合元素可以重复吗_python集合类型简介_07

3、集合的运算

与列表等类型最大的不同之处在于,集合可以进行各种独有的运算,如交集、并集、补集等等。
1、求交集:即两个集合中都有的元素,求交集有两种方法

  1. 方法一:用intersection()函数,基本语法为集合名.intersection(集合名)
  2. 方法二:用“&”符,基本语法为集合名 & 集合名
  3. 实例:

2、求并集:即将两个集合中所有的元素合为一个大的集合,这也有两种方法

  1. 方法一:用union()函数,基本语法为集合名.union(集合名)
  2. 方法二:用“|”符号,基本语法为集合名 | 集合名
  3. 实例:

3、求反交集:即两个集合中各自独有的元素,同样有两种方法

  1. 方法一:用symmetric_difference()函数,基本语法为集合名.symmetric_difference(集合名)
  2. 方法二:用“^”符号,基本语法为集合名 ^ 集合名
  3. 实例:

4、求差集:即某一个集合独有的元素,也有两种方法

  1. 方法一:用difference()函数,基本语法为集合名2.difference(集合名1)表示集合2中有的而集合1中没有的元素
  2. 方法二:用“-”符号,基本语法集合名1 - 集合名2表示集合1中有而集合2中没有的元素
  3. 实例:

5、判断一个集合是否为另一个集合的子集,也有两种方法

  1. 方法一:用issubset()函数,基本语法为集合名1.issubset(集合名2)表示判断集合1是否为集合2的子集,返回值为bool类型
  2. 方法二:用“<”符号,基本语法为集合名1 < 集合名2表示判断集合1是否为集合2的子集,返回值为bool类型
  3. 实例:

4、集合与其他类型数据之间的转换

1、集合的去重功能

由于集合具有去重的特性,所以可以把列表等其它类型转转为集合,从而达到去重的效果。

2、将其他数据类型转为集合的基本语法:set(其他类型的数据(如列表))

3、将集合转为列表:list(集合名)

4、将集合转为不可变的数据类型的基本语法:frozenset(集合名)

5、实例:

python集合中元素的修改 python中集合元素可以重复吗_集合的运算_08


python集合中元素的修改 python中集合元素可以重复吗_python集合类型简介_09