1、集合类型定义

集合是多个元素的无序组合

- 集合类型与数学中的集合概念一致
         - 集合元素之间无序,每个元素唯一,不存在相同元素

         - 集合元素不可更改,不能是可变数据类型

         

- 集合用大括号 {} 表示,元素间用逗号分隔


         - 建立集合类型用 {} 或 set()


- 建立空集合类型,必须使用set()


>>> A = {"python", 123, ("python",123)}     #使用{}建立集合
{123, 'python', ('python', 123)}
>>> B = set("pypy123")    #使用set()建立集合
{'1', 'p', '2', '3', 'y'}
>>> C = {"python", 123, "python",123}
{'python', 123}


2、集合操作符

集合间操作

python 定义实体集合 python代码定义集合_集合类型

  (2)、集合操作符

  a. 6个操作符

操作符及应用

描述

S | T

返回一个新集合,包括在集合S和T中的所有元素

S - T

返回一个新集合,包括在集合S但不在T中的元素

S & T

返回一个新集合,包括同时在集合S和T中的元素

S ^ T

返回一个新集合,包括集合S和T中的非相同元素

S <= T 或 S < T

返回True/False,判断S和T的子集关系

S >= T 或 S > T

返回True/False,判断S和T的包含关系

b. 4个增强操作符


操作符及应用

描述

S |= T

更新集合S,包括在集合S和T中的所有元素

S -= T

更新集合S,包括在集合S但不在T中的元素

S &= T

更新集合S,包括同时在集合S和T中的元素

S ^= T

更新集合S,包括集合S和T中的非相同元素

  实例:

python 定义实体集合 python代码定义集合_python 定义实体集合_02


3、集合处理方法

  (1)、操作函数或方法

操作函数或方法

描述

S.add(x)

如果x不在集合S中,将x增加到S

S.discard(x)

移除S中元素x,如果x不在集合S中,不报错

S.remove(x)

移除S中元素x,如果x不在集合S中,产生KeyError异常

S.clear()

移除S中所有元素

S.pop()

随机返回S的一个元素,更新S,若S为空产生KeyError异常

操作函数或方法

描述

S.copy()

返回集合S的一个副本

len(S)

返回集合S的元素个数

x in S

判断S中元素x, x在集合S中,返回True,否则返回False

x not in S

判断S中元素x, x不在集合S中,返回False,否则返回True

set(x)

将其他类型变量x转变为集合类型

  (2)、两种遍历方法

>>> A = {"p", "y" , 123}
>>> for item in A:
print(item, end="")
p123y
>>> A
{'p', 123, 'y'}

>>> try:
while True:
print(A.pop(), end=""))
except:
pass
p123y
>>> A
set()

4、集合应用场景

  (1)、包含关系比较

python 定义实体集合 python代码定义集合_python_03

  (2)、数据去重

  

python 定义实体集合 python代码定义集合_python_04