栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python集合

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python集合

文章目录
    • 集合
      • 集合的创建
      • 集合的相关操作(新增删除)
      • 集合间关系(判断子集,母集,交集)
      • 集合的数学操作(交集、并集,差集,对称差集)
      • 集合生成式

集合 集合的创建
#一种创建方式使用()
s={5,2,3,4,2,3,4,6,3}
print(s)#{2, 3, 4, 5, 6}元素不重复,递增

"""第二种创建方式使用set()"""
s1=set(range(6))
print(s1,type(s1))#{0, 1, 2, 3, 4, 5} 

s2=set([1,2,3,4,2,2,2,7,6])
print(s2,type(s2))#{1, 2, 3, 4, 6, 7} 

s3=set((1,2,4,4,5,65))#集合中的元素是无序的
print(s3,type(s3))#{65, 1, 2, 4, 5} 

s4=set('python')
print(s4,type(s4))#{'t', 'o', 'n', 'h', 'y', 'p'} 

s5=set({12,4,34,55,66,44,4})
print(s5,type(s5))

#定义一个空集合
s6={}#dict字典类型
print(type(s6))#

s7=set()#空集合
print(type(s7))#

集合的相关操作(新增删除)
#集合的相关操作
s={10,20,30,40,33}
print(10 in s)     #True
print(100 in s)    #False
print(10 not in s) #False
print(100 not in s)#True
#集合元素的新增操作
s.add(80)#add一次添加一个元素
print(s)#{33, 40, 10, 80, 20, 30}
s.update({200,400,300})#update至少添加一个元素
print(s)#{33, 40, 200, 10, 300, 80, 400, 20, 30}
s.update([100,99,8])
s.update([78,64,56])#{64, 33, 99, 100, 40, 200, 10, 8, 300, 78, 80, 400, 20, 56, 30}
print(s)


"""集合元素的删除操作"""
s.remove(100)
print(s)
#s.remove(500)#报错
s.discard(500)
print(s)
s.pop()#随机甩出一名幸运观众
print(s)
s.pop()#随机甩出一名幸运观众
print(s)
s.pop()#随机甩出一名幸运观众
print(s)
s.clear()
print(s)
集合间关系(判断子集,母集,交集)
"""集合间的关系"""
s={10,20,30,40}
s2={30,40,20,10}
print(s==s2)#True
print(s!=s2)#False
"""一个集合是否是另一个集合的子集"""
s1={10,20,30,40,50,60}
s2={10,20,30,40}
s3={1,2,30}
print(s2.issubset(s1))#s2是s1的子集
print(s3.issubset(s1))#s3是s1的子集
"""一个集合是否另一个集合的母集"""
print(s1.issuperset(s2))#True
print(s1.issuperset(s3))#False
"""两个集合是否没有交集!!!没有交集"""
print(s2.isdisjoint(s3))#False
s4={100,200,300}
print(s2.isdisjoint(s4))#True

集合的数学操作(交集、并集,差集,对称差集)
#1.交集
s1={10,20,30,40}
s2={20,30,40,50,60}
print(s1)
print(s2)
print(s1.intersection(s2))#{40, 20, 30}
print(s1&s2)#{40, 20, 30}交集操作两者等价
#2.并集操作

print(s1.union(s2))#{40, 10, 50, 20, 60, 30}
print(s1|s2)#{40, 10, 50, 20, 60, 30}
#3.差集操作
print(s1.difference(s2))#{10}
print(s1-s2)#{10}
#4.对称差集两个都没有的
print(s1.symmetric_difference(s2))#{50, 10, 60}
print(s1^s2)#{50, 10, 60}
集合生成式
s={i*i for i in range(12)}#无序
print(s)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/850168.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号