python中集合set的使用(自我总结)

set

一:集合的定义

#集合一个很大的特点就是元素不重复,因此可以用来进行列表什么的去重
s1 = set()   #创建空集合时,只能使用set()
s2 = {1,2,3}  #注意区分,这里字典和集合都是大括号。字典:{key:value,key:value,key:value,...}  集合:{元素1,元素2,元素3.....}

二:集合涉及到的符号

#集合涉及到的符号
#in  和  not in  判断元素是否在集合中
s1 = {1,2,3,4}
print(3 in s1)     #结果为 True


#is  和  is  not   判断集合地址是否相同
s2 = {1,2,3,4}
print(s1 is s2)    #结果为 False


#‘==’ 和  ‘!=’  判断集合内容是否相同
print(s1 == s2)     #结果为 True
#接下来是‘+  -  *  &  |  ^’号

#'+'号  和  '*'号 不可用
#'-'号  就是求差集,对应的difference()
s1 = {1,2,3,4,5}
s2 = {1,2,3,4,5,6}
s3 = s1 - s2
print(s3)        #结果为:set()   所以这里要注意:谁减谁
s4 = s2 - s1
print(s4)        #结果为:{6}
s5 = s2.difference(s1)    
print(s5)        #结果为:{6}
#'&'   交集  intersection()
s1 = {1,2,3,4,5}
s2 = {1,2,3,4,5,6}
s3 = s1 & s2
print(s3)         #结果为:{1, 2, 3, 4, 5}
s4 = s1.intersection(s2)
print(s4)         #结果为:{1, 2, 3, 4, 5}
#'|' 并集 union()
s1 = {1,2,3}
s2 = {4,5,6}
s3 = s1 | s2
print(s3)          #结果为:{1, 2, 3, 4, 5, 6}
s4 = s1.union(s2)
print(s4)          #结果为:{1, 2, 3, 4, 5, 6}
#'^'   对称差集   symmetric_difference()
s1 = {1,2,3,4}
s2 = {3,4,5,6}
s3 = s1 ^ s2
print(s3)
s4 = s1.symmetric_difference(s2)
print(s4)

三:python集合函数

#1.   len(set)  求集合的长度
#2.   max(set)  和  min(set)   求集合中的最大最小值
#3.   sorted(list) ---->排序 默认是升序的
#     sorted(list,reverse=True)    则为降序

s1 = {1,3,4,5,8,6}
print(len(s1))     #结果为:6
print(max(s1))     #结果为:8
print(min(s1))     #结果为:1
print(sorted(s1))  #结果为:[1, 3, 4, 5, 6, 8]


#4.    强转   set()
l1 = [1,2,3,1]
s1 = set(l1)
print(s1)          #结果为: {1, 2, 3}   去掉了重复的元素

四:集合自身的方法

#集合增加元素
#set.add()   是添加一个元素
s1 = {1,2,3}
s1.add(55)
print(s1)            #结果为: {1, 2, 3, 55}


#set.update()    可以添加多个元素
s2 = {'谢富中',18,'男'}
s1.update(s2)
print(s1)         #结果为: {1, 2, 3, 18, '男', 55, '谢富中'}
##集合删除元素
#set.remove(元素)    如果没有找到,则报错
s1 = {1,2,3,4}
s1.remove(2)
print(s1)            #结果为:{1, 3, 4}
s1.remove(5)
print(s1)            #结果为:KeyError: 5


#set.discard(元素)    与remove的区别是找不到不会报错   
s1 = {1,2,3,4}
s1.discard(2) 
print(s1)          #结果为:{1, 3, 4}
s1.discard(5)
print(s1)          #结果为:{1, 3, 4}


#set.pop()     随机删除一个元素
fruits = {"apple", "banana", "cherry"}
fruits.pop() 
print(fruits)         #结果为:{'banana', 'apple'}    因为随机,所以结果可能不一样


#set.clear()    清除
s1 = {1,2,3,4}
s1.clear()
print(s1)              #结果为:set()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值