python基础7--集合

时间:2023-03-09 14:55:38
python基础7--集合

集合set


  Python的set集合是一个无序不重复元素集。基本功能包括关系测试和消除重复元素。集合对象还支持union(并集)、intersection(交集)、difference(差集) 和 sysmmetric differencr(对称差集)等数学运算。

  set 支持 x in set, len(set), for x in set。作为无序集合,set不记录元素的下标。

事例:

一、集合操作

1.创建集合

set1 = set('bestberg')
print(set1) #输出
{'b', 'g', 'e', 't', 'r', 's'} # b 去重了

  

2.集合添加 add将要传入的元素作为一个整体添加到集合中

 a = set('lion')
a.add('rabbit')
print(a)

python基础7--集合

3.集合添加 update 将要传入的元素拆分,作为个体插入到集合中

 b = set('lion')
b.update('rabbit')
print(b)

python基础7--集合

4.集合删除 remove

 a = set('lion')
a.add('rabbit')
print(a) a.remove('rabbit')
print(a)

python基础7--集合

# pop()
>>> set1
{1, 2, 3, 4, 5}
>>> set1.pop()
1
# set1
>>> set1
{2, 3, 4, 5} # discard >>> set1.discard(3)
>>> set1
{2, 4, 5}
>>> set1.discard(1)
>>> set1
{2, 4, 5} # discard在删除不存在的元素时,不会报错

  

二、集合关系

1.并集(去重)

 a = {1,2,3,4,33,66}
b = {3,4,5,6,33} print(a.union(b)) # print(a | b) {33, 2, 66, 3, 4, 1, 5, 6} #相同部分只保留一份

2.交集

 a = {1,2,3,4,33,66}
b = {3,4,5,6,33} print(a.intersection(b))
print(a & b)

{33, 3, 4}
{33, 3, 4}

3.差集

 a = {1,2,3,4,33,66}
b = {3,4,5,6,33} print(a.difference(b))
print(b.difference(a)) # print(b - a)

{1, 2, 66}
{5, 6}

4.相对补集

 a = {1,2,3,4,33,66}
b = {3,4,5,6,33} print(a.symmetric_difference(b)) #去掉相同的元素
print(b.symmetric_difference(a))

{1, 2, 5, 6, 66}
{2, 66, 5, 1, 6}

5.子集 和 父集

 a = {1,2,3,4,33,66}
b = {3,4,5,6,33} print(a.issubset(b)) # 子集
print(b.issuperset(a)) # 父集

False
False