Python中的集合

集合

Python语言提供的内置数据结构
与列表、字典一样都属于可变类型的序列
集合的行为与列表类似,只是集合不会包含重复的值
集合是没有value的字典
在这里插入图片描述

1.集合的创建方式{}、set()

直接{ }
s={‘Python’ , ‘hello’ , 90}

使用内置函set()
注:如果创建的是空集合,必须使用set()进行创建,否则创建的是字典类型

print('------------------------集合的创建---------------------------')
print('-------------------{}------------------')
a = {1, 2, 3, ' s'}
print(a)
print('-------------------set()---------------')
a1 = set(range(6))
print(a1)
a2 = set([1, 2, 3])
print(a2)
a3 = set((1, 2, 3))
print(a3)
a4 = set('ss')
print(a4)
a5 = set({1, 2, 3})
print(a5)

在这里插入图片描述

2.集合的相关操作

(1)集合元素的判断操作

in或not in

print('------------------------集合的操作---------------------------')
print('--------------集合元素的判断操作-----------')
a = {1, 2, 3, ' s'}
print(1 in a)
print(2 not in a)

(2)集合元素的新增操作

调用add()方法,一次添加一个元素
调用update()方法至少添加一个元素

print('--------------集合元素的新增操作-----------')
a = {1, 2, 3, ' s'}
print('-----------add()-----------')
a.add(10)
print(a)
print('----------update()---------')
a.update({20, 30, 40})
print(a)

在这里插入图片描述

(3)集合元素的删除操作

调用remove()方法,一次删除一个指定元素,如果指定的元素不存在抛出KeyError
调用discard()方法,一次删除一个指定元素,如果指定的元素不存在不抛出异常
调用pop()方法,一次删除一个任意元素
调用clear()方法,清空集合

print('--------------集合元素的删除操作-----------')
a = {1, 2, 3, 40, 10, 20, ' s', 30}
print('---------remove()----------')
a.remove(1)
print(a)
print('---------discard()----------')
a.discard(2)
print(a)
print('-----------pop()------------')
a.pop()
print(a)
print('----------clear()-----------')
a.clear()
print(a)

在这里插入图片描述

3.集合间的关系

(1)两个集合是否相等

可以使用运算符==或!=进行判断

print('----------------集合间的关系--------------')
print('-------两个集合是否相等--------')
a1 = {1, 2}
a2 = {2, 3}
print(a1 == a2)
print(a1 != a2)

(2)一个集合是否是另一个集合的子集

可以调用方法issubset进行判断
B是A的子集

print('--一个集合是否是另一个集合的子集--')
a1 = {1, 2}
a2 = {2, 3}
a3 = {1}
print(a3.issubset(a1))
print(a3.issubset(a2))

(3)一个集合是否是另一个集合的超集

可以调用方法issuperset进行判断
A是B的超集

print('--一个集合是否是另一个集合的超集--')
a1 = {1, 2}
a2 = {2, 3}
a3 = {1}
print(a1.issuperset(a3))
print(a2.issuperset(a3))

(4)两个集合是否没有交集

可以调用方法isdisjoint进行判断

print('------两个集合是否没有交集------')
a1 = {1, 2}
a2 = {2, 3}
print(a1.isdisjoint(a2))

在这里插入图片描述

4.集合间的数学操作

交集、并集、差集、对称差集

print('--------------集合间的数学操作-----------')
a1 = {1, 2}
a2 = {2, 3}
a3 = {1}
print('-----------交集------------')
print(a1.intersection(a2))
print(a1 & a2)
print('-----------并集------------')
print(a1.union(a2))
print(a1 | a2)
print('-----------差集------------')
print(a1.difference(a2))
print(a1 - a2)
print('--------对称差集------------')
print(a1.symmetric_difference(a2))
print(a1 ^ a2)

在这里插入图片描述

5.集合生成式

用于生成集合的公式:{i*i for i in range(1,10)}
将{}修改为[]就是列表生成式
没有元组生成式

print('-----------------集合生成式----------------')
a = {i*i for i in range(10)}
print(a)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值