python操作之集合

python的数据类型有许多种 像元组、列表、字典等等

今天写的是python数据类型之集合:set

我们知道列表可以写成a=[1,2,3,'a',1,2,3]其中元素可以重复

而集合其中元素则是不可重复的

a=[1,2,3,'s',1,2,3]
s=set(a)
print(s)


1、集合的特点:

(1)集合元素必须是可哈希的

s=set([[1,2],3,4])
print(s)

应为列表是不可哈希的,所以当我们把列表当作集合的元素时会报错!


(2)集合是无序的 (和字典一样)

s=set('abcd')
print(s)


s=set(['ab','cd','ef','gh'])
print(s)


2、集合的分类

集合主要分成可变集合和不可变集合(frozenset)

不可变集合:可添加和删除元素、非可哈希,不能用作字典的键,也不能做其他集合的元素

li=[1,'a','b']
s=set(li)
dic={s:'123'}

3、访问集合

s=set([1,2,3,4,5])
print(1 in s)
print(6 in s)

4、更新集合

s.add('1')添加一个元素

s=set([1,2,3])
s.add(4)
print(s)

s.update('ops')

s=set([1,2,3])
s.update('abc')
print(s)

a.update('ooo')

s.update([12,'ad'])#不能去掉[ ] 必须是可迭代的
s.remove(2)
s.pop()#随机删除一个元素
s.clear#清空 和删除不一样

del s;删除集合

5、结合操作符

(1)交集

s=set([1,2,3,4,5])
# print(s)
s2=set([4,5,6,7,8])
print(s.intersection(s2))# 或者使用s&s2


(2)并集

s.union(s2)  或者使用‘|’  s | s2



(3)差集

s=set([1,2,3,4,5])
s2=set([4,5,6,7,8])
print(s.difference(s2))


s=set([1,2,3,4,5])
s2=set([4,5,6,7,8])
print(s2.difference(s))或者使用‘-’  s2-s




(4)反向交集

s=set([1,2,3,4,5])
s2=set([4,5,6,7,8])
print(s.symmetric_difference(s2))


(5)父集和子集

s=set([1,2,3,4,5])
s2=set([4,5,6,7,8])
print(s.issuperset(s2))


s=set([4,5])
s2=set([4,5,6,7,8])
print(s2.issuperset(s))


父集、子集可以用<>号来替代


6、集合作用

集合主要可以用来去重,当我们需要对某个数据类型进行去重工作时可以使用集合操作

集合因为数据元素不可哈希 

所以集合中元素不存在索引,所以当我们需要找寻集合中某个元素时,我们只能通过遍历操作

来寻找或者通过迭代器,迭代器以后再说。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值