Python基础之集合set操作

集合的特性:无序、不存在重复元素
set和frozenset的区别:frozenset没有add/update/remove等属性

s = {4,5,6}
print(s)
print(type(s))
s = set((1,1,2,2,3,3))  #将元组转为set,从而实现去重
print(s)
s = set("abcabc")  #字符串转为set
print(s)

在这里插入图片描述

s = set('cheeseshop')  #使用工厂方法创建
print(s)
print(type(s))

在这里插入图片描述

s={'chessseshop','bookshop'}
print(s)
print(type(s))

在这里插入图片描述

不可变集合创建:

t = frozenset('bookshop')
print(t)
print(type(t))

在这里插入图片描述
增:

s = {1,2,3}
s.add(4)
print(s)

在这里插入图片描述
整体添加

s.add('ab')
print(s)

在这里插入图片描述
拆分添加

s.update('cd')
print(s)

在这里插入图片描述
删:

remove:当集合中存在元素时,将其删除,如果不存在,则会报错
s.remove('c')
print(s)
s.remove('c')

在这里插入图片描述
捕获异常处理这种情况:

try:
    s.remove('c')
except KeyError as e:
    print("集合中不存在该元素!")
else:
    print("集合中元素删除成功!")
    print("删除某元素后的集合:",s)

discard:找到并删除一个元素,不存在也不报错

s.add('e')
print(s)
s.discard('e')
s.discard('e')

在这里插入图片描述
pop:返回并删除随机一个元素,因为set是无序的,所以随机删除一个

s.pop()
print(s)

在这里插入图片描述
clear:清空set
s.clear()
print(s)
在这里插入图片描述

s1 = {'a','b','c'}
s1 -= {'a'}
print(s1)

在这里插入图片描述

遍历集合中的元素

for i in s:
    print(i)

在这里插入图片描述

for id,value in enumerate(s):
    print(id,value)

在这里插入图片描述
set转化为list

list(s)

在这里插入图片描述
set转化为tuple

tuple(s)

在这里插入图片描述
set不能转化为dict

dict(s)

在这里插入图片描述
获取set长度

s = {1,2,3,4,'d','ab'}
print(len(s))

在这里插入图片描述
复制set

s_copy = s.copy()  #复制之后两个变量值互不影响
s.add(5)
s_copy.pop()
print(s)
print(s_copy)

在这里插入图片描述
集合间的运算

s & s_copy
s | s_copy
s - s_copy
s.difference(s_copy)  #差集,和-等价
s.intersection(s_copy)  #交集,同&
s.union(s_copy)  #补集,同|

在这里插入图片描述

{1} == {1}
{1,2} > {1}
{2,3,4} > {5}
{2,3,4} > {2}  #包含且不等于才返回True,后面的是前面的子集
{2}.issubset({1,2,3})
{2}.issuperset({1,2,3})
{1,2,3,4}.issuperset({1,2,3})
1 in {1,2,3}
22 not in {1,2,3}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值