集合学习


集合的学习

# 编写人:刘钰琢
# 编写日期:2021/1/20 12:05
#集合的创建(只是在字典中没有value值)
#第一种创建用{}
s={'python','hello',90}
s1={1,2,3,4,5,5,6,7,7}
print(s1)
print(s)
#第二种创建方式用内置函数set() 集合无序 集合内容不可以重复
s2=set(range(6))
print(s2)
print(set([3,4,56,53]))
print(set((3,4,5,6,456)))
print(set('python'))
print(set({2,3,4,4,5,6}))
print(set(),type(set()))
#集合的操作,增删改查操作
#in 和not in
print('------------------')
s={1,2,3,4,5,6}
print(3 in s)
print(7 not in s)
#增加操作add 一次添加一个元素和update一次至少添加一个元素
s.add(800)
print(s)
s4={200,300,400}
s.update(s4)
print(s)
s.update([30,40,5])
print(s)
#删除操作 remove discard pop clear
s.remove(200)#删除元素如果存在则可以进行删除,如果不存在则进行报错
print(s)
s.discard(500)#删除元素虽然不存在也不会进行报错
print(s)
s.pop()
s.pop()#随机删除与一个元素
# s.pop(400)#不能添加参数
print(s)
s.clear()
print(s)
#集合之间的关系
#两个集合是否相等
s={10,20,30,40}
s1={30,40,20,10}
print(s==s1)#True
print(s!=s1)#False
#一个集合是否是另一个集合的子集,用内置函数issubset判断 前面是小的,后面是大的
s1={10,20,30,40,50,60}
s2={30,40,20,10}
s3={10,20,30,90}
print(s2.issubset(s1))#True
print(s3.issuperset(s1))#False
#一个集合是不是另一个集合的超集,用内置函数issuperset判断 前面是大的,后面是小的
print(s1.issuperset(s2))#True
print(s1.issuperset(s3))#False
#两个集合是否有交集,用内置函数isdisjiont判断 False表示有交集,True表示没有交际
print(s2.isdisjoint(s3))#False
s4={100,200,300}
print(s2.isdisjoint(s3))#True
#集合的数学操作
#交集操作,用内置函数intersection与&是等价的 得到的就是交集 原原集合不变
s1={10,20,30,40}
s2={20,30,40,50}
print(s1.intersection(s2))
print(s1&s2)
#并集操作 用内置函数union与|是等价的,得到的就是交集  原原集合不变
print(s1.union(s2))
print(s1|s2)
#差集操作 前-(前交后) 原原集合不变
print(s1.difference(s2))
print(s2.difference(s1))
print(s1-s2)
#对称差集 前并后-前交后
print(s1.symmetric_difference(s2))
print(s1^s2)
#集合生成式
lst=[i*i for i in range(1,10)]
print(lst)
s6={i*i for i in range(1,10)}
print(s6)


文章作者: 毛豆不逗比
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 毛豆不逗比 !
  目录
{% include '_third-party/exturl.swig' %} {% include '_third-party/bookmark.swig' %} {% include '_third-party/copy-code.swig' %} + {% include '_custom/custom.swig' %}