Python集合的操作

1.1集合的创建

使用{}或是set函数创建集合,如果要创建集合则只能使用set函数
集合中不能包含有重复值元素。如果创建集合或向集合中插入元素时,指定的元素具有重复值,则集合自动去除重复的元素。

创建集合例子

s = set(23,37,12,37,28)
print("s的值为:",s)

s的值为:{28,12,37,23}

1.2插入集合元素

集合中提供了两种插入元素的方法,分别是add和update

s.add(x)作用是把x作为一个新的元素插入到集合中,其中x必须是一个可哈希对象
s,update(x):作用是把x差分成多个元素后插入到集合中,x必须是可迭代对象

add方法和update方法的例子

s1 = set([1,2]) #创建集合对象并赋给变量s1
s2 = set([1,2]) #创建集合对象并赋给变量s2
s1.add('Python') #使用add方法向s1集合中插入元素"Python"
s2.update("python")
print("s1的值为:",s1)
print("s2的值为:",s2)

s1的值为:{1,2,“Python”}
s2的值为:{1,2,“p”,“y”,“t”,“h”,“o”,“n”}

1.3集合的运算

集合中提供了用于集合运算的方法,如交、并、差、堆对称差:
|s1.intersection(s2):其作用是计算s1和s2的交集并返回。intersection方法不会修改s1和s2本身的值|
|–|–|
|s1.union(s2):其作用是计算s1和s2的并集并返回。union方法不会修改s1和s2本身的值|
||
|s1.intersection(s2):q其作用是计算s1和s2的差集并返回,差集是指包含在s1但不包含在s1但不包含在s2中的元素组成的集。difference方法不会修改s1和s2本身的值|
|s1.symmetruc_difference(s2):其作用是计算s1和s2的对称差集并返回,对称差集是指由包含在s1中或包含在s2中的元素组成的集合symmetruc_difference方法不会修改s1和s2本身值|

集合运算的例子

s1=set([1,2,3])
s2 = set([2,3,4])
s3 = s1.intersection(s2) #{2,3}
s4 = s1.union(s2) #{1,2,3,4}
s5 = s1.difference(s2) #{1}
s6 = s1.symmetric_difference(s2) #{1,4}

1.4 子集和父集

集合中提供了用于判断一个集合是否是另一个集合子集(父集)的方法
|s1.issubset(s2):其作用是判断s1是否是s2的自己。如果s1是s2的子集,则返回True;否则返回False。|
|–|–|
|s1.issuperset(s2):其作用是判断s1是否是s2的父集。如果s1是s2的父集,则会返回True;否则返回False。|

s1 = set([1,2,3,4])
s2 = set([2,3,4,5])
s3 = set([1,3])
print("s3是s1的子集:",s3.issubset(s1)) #True
print("s1是s3的父集:",s3.issuperset(s1)) #True
print("s3是s2的子集:",s3.issubset(s1)) #Flase
print("s2是s3的父集:",s3.issuperset(s1)) #False

1.5 列表、元组、字典、集合的区别

数据结构是否可变是否重复是否有序定义符号
列表可变可重复有序[  ]
元组不可变可重复有序(  )
字典可变可重复有序{key,value}
集合可变不可重复无序{  }

1.6集合中其他方法

cleancopyremoveisdisjointdifference_update
清空集合返回集合的拷贝移除集合中的一个元素(若元素不存在会引发KeyError如果两个集合有一个空交集,返回True从这个集合中删除另一个集合的所有元素
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫腻余腥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值