Python集合set

Python集合set

两种集合的定义方法

定义集合的方法一:直接定义法

a = {1,2,3}
print(type(a))
<class 'set'>

特别注意空集合的定义法不同于列表、元组,因为Python默认 { } \{\} {}为字典,所以空集合的定义使用强转的方式。

a = {}
print(type(a))
<class 'dict'>  #字典类型

定义集合的方法二:使用强转的方式定义

a = set({})
print(type(a))

集合的性质

集合具有元素不重复性、唯一性、无序性,所以集合不能够通过索引取值,经常使用强转集合的方式去重。

a = {1,1,1,1,2}
print(a)
{1, 2}

集合运算

集合属于可变类型,只能随机取值,若要精确取值则要转换为列表,属于散列类型。

& 交集 a&b
| 并集 a|b

- 补集 a-b b在a中的补集

交集运算

a = {1,2,3,4,5}
b = {2,3,4,5,6,7,8}
print(a & b)
{2, 3, 4, 5}

并集运算

a = {1,2,3,4,5}
b = {2,3,4,5,6,7,8}
print(a | b)
{1, 2, 3, 4, 5, 6, 7, 8}

补集运算

a = {1,2,3,4,5}
b = {2,3,4,5,6,7,8}
print(a - b)
{1}

集合的方法

add方法

#在原集合末尾添加元素
a = {1,2,3,4,5}
a.add(6)
print(a)
{1, 2, 3, 4, 5, 6}

update方法

#可以添加列表字符串和集合,若为字符串,则字符串拆为字符,单个添加
#使用update时候,必须是可迭代对象
a = {1,2,3,4,5}
a.update([7,8])
print(a)
a.update('12343')
print(a)
{1, 2, 3, 4, 5, 7, 8}
{1, 2, 3, 4, 5, 7, 8, '3', '4', '1', '2'}

pop方法

#随机删除,拿出来再删除,哈希算法,若为数字集合则从第一个元素删除
a = {1,2,3,4,5}
print(a.pop())
print(a.pop())
print(a.pop())
print(a.pop())
1
2
3
4
a = {'3', '4', '1', '2'}
print(a.pop())
print(a.pop())
print(a.pop())
print(a.pop())
4
1
2
3

remove方法

#删除某一个元素
a = {1,2,3,4,5}
a.remove(3)
print(a)
{1, 2, 4, 5}

isdisjoint方法

#判断是否有交集     a.isdisjoint(c)   a里面有没有c吗?
a = {1,2,3,4,5}
b = {6}
c = {6,3,7}
print(a.isdisjoint(b))
print(a.isdisjoint(c))
True
False

issubset方法

#判断是否是子集     a.issubset(c)    a是c的子集吗
a = {6}
b = {1,2,3,4,5}
c = {6,3,7}
print(a.issubset(b))
print(a.issubset(c))
False
True
a = {1,2,3,4,5}
b = {6}
c = {1,2,3}
print(a.issuperset(b))
print(a.issuperset(c))
False
True
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值