集合和及其操作

集合是盛放多个数据的一种类型。
集合中的元素是无序的,唯一的、不可改变类型。可以使用大括号 { } 或者 set() 函数创建集合,

格式:
(1). 变量名={元素1,元素2,元素3,…}
(2). 变量名=set(序列) 例如 变量名=set(元组,自动,字符串)
举个例子

a=(4,5,3,65,322,76,78,9,65,4,433)
b=set(a)

print(b)#输出是集合,可以去重

a={4,5,6,7,5,5,5,5,5,5,53,3,3,3,2,2,2,2,4,4,4}
b=set(a)#集合是无序
print(b)

a='ddfdssffggeeeww'
b=set(a)
print(b)

a=[3,4,4,4,42,2,2,5,5,5,1,1,1,6,66]
b=set(a)
print(b)

运行结果
{65, 322, 3, 4, 5, 9, 76, 78, 433}
{2, 3, 4, 5, 6, 7, 53}
{‘w’, ‘d’, ‘g’, ‘f’, ‘s’, ‘e’}
{1, 2, 3, 4, 5, 6, 66, 42}

集合的操作

1.增加操作


a={1,2,3}
a.update('sdt')#增加的是集合
print(a)

运行结果:
{1, 2, 3, ‘d’, ‘t’, ‘s’}

2.删除操作

a={0,3,4,56,}
b=a.pop()#随机删除一个
print(b)
a={1,2,34,0,5,5}
a.discard(5) #删除指定的数,不报错
print(a)
a.remove(1)
print(a)#删除指定值,报错

集合数学运算

1.交集(& 或者 intersection) 取公共部分

a={1,2,3}
b={4,5,6,1,2}
c=b.intersection(a)#求两个a与b的交集
print(c)

2.并集。(| 或者 union) 取去除重复部分内容

a={1,2,3}
b={4,5,6}
c=b.union(a)#把b合并到a里面,只能用这种格式
print(c)
print(a)
print(b)

3.差集。(- 或者 difference)取set1或者set2中除去公共部分的内容

a={1,2,3}
b={4,5,6,1,2}
c=a.difference(b)#求两个a与b的差集:a不同于b的元素,如果a完全不同于b输出整个集合
print(c)

4.反交集。(^ 或者 symmetric_difference)

a={1,2,3,8,0,3}
b={4,5,6,1,2}
c=a.symmetric_difference(b)#求两个a与b的均不相同的元素
print(c)

5.子集。(< 或者 issubset)

a={1,2,3}
b={4,5,6,7,9}
c={1,2,3,4}
print(c.issuperset(a)) #  c是a的父集  返回 ture
print(a.issuperset(b)) # a是不是b的父集   返回 false
print(a.issubset(c))#a是c的子集  返回 ture

6.超集。(> 或者 issuperset)

a={1,2,3}
b={4,5,6,7,9}
c={1,2}
print(a.isdisjoint(b)) #b和a没有交集
print(a.isdisjoint(c))  #a和c没有交集
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值