您现在的位置是:群英 > 开发技术 > Python语言
python中的集合怎样理解,常用集合命令有哪些?
Admin发表于 2021-12-14 18:02:011229 次浏览

    这篇文章我们来了解python中的集合的相关内容,集合的知识是Python学习中的基础知识,下文将介绍合集的一些常用命令及关系运算,文中示例代码介绍的非常详细,对大家学习python中的集合有一定的帮助,那么感兴趣的朋友接下来一起跟随小编了解看看吧。

    集合 (set)

        1、由不同的元素组成,用{ }大括号括起来,用,逗号隔开

        2、无序的

        3、集合中的元素必须是比可变类型

        4、集合会自动去重

        例如:s = {1,2,3,4,5,6} #这就是一个集合

        5、合集是可变的 但是可以通过参数frozenset变成不可变的集合

    s = {1,'2',3,4,5,6}
    print(s) #{'2', 1, 3, 4, 5, 6}
    a = frozenset(s) #不可变
    print(a) #frozenset({'2', 1, 3, 4, 5, 6})

    一 、合集的一些常用命令

        1、set 定义合集

    s = set('adam')
    print(s) #{'m', 'a', 'd'}

        可以看到输出结果是 乱序的 而且 已经去重了,并且它已经把原来的字符串 打散到了最小单位

        2、add 添加元素

    s = {1,2,3,4,5,6}
    s.add('3') #添加了一个str类型的 3
    print(s) #{1, 2, 3, 4, 5, 6, '3'}
    s.add(('4', 'a', 'b', 'c'))
    print(s) #{1, 2, 3, 4, 5, 6, ('4', 'a', 'b', 'c'), '3'}

        1、如果添加的是的集合里面原本就含有的元素,那么就会被自动去重

        2、被添加的元素是 被乱序放入的 也就是说集合本身是乱序的

        3、如果被添加的是 多个元素 那么 集合会把他们视为一个元素 打包插入,只有元祖可以插入,列表和字典不行

        3、clear 清空

    s = {1,2,3,4,5,6}
    s.clear()
    print(s) #set()

        4、pop 随机删除一个元素

    s = {1,2,3,4,5,6,7}
    s.pop()
    print(s) #{2, 3, 4, 5, 6, 7}

        5、remove 指定删除

    s = {1,2,3,4,5,6}
    s.remove(3)
    print(s) #{1, 2, 4, 5, 6}

        PS:找不到匹配要删除的字符就会报错

        6、discard 指定删除

    s = {1,2,3,4,5,6}
    s.discard(7)
    print(s) #{1, 2, 3, 4, 5, 6}

        PS:找不到匹配要删除的字符不会报错

    二、关系运算

        1、交集 找到两个集合相同的元素

    s = {1,2,3,'m', 'a', 'd'}
    s1 ={1,'2',3,'m', 'd'}
    print(s&s1) #{1, 3, 'd', 'm'}
    print(s.intersection(s1)) #{1, 3, 'd', 'm'}

        & 是运算符号, intersection 是运算命令他们的结果是一样的

        2、并集 合并两个集合

    s = {1,2,3,'m', 'a', 'd'}
    s1 ={1,'2',3,'m', 'd'}
    print(s|s1) #{1, 2, 3, 'm', '2', 'd', 'a'}
    print(s.union(s1)) #{1, 2, 3, 'm', '2', 'd', 'a'}

        |竖是运算符号,union 是运算命令他们的结果是一样的

        3、差集 保留前者与后者不同的元素 去除相同的元素

    s = {1,2,3,'m', 'a', 'd'}
    s1 ={1,'2',3,'m', 'd'}
    print(s - s1) #{'a', 2}
    print(s1.difference(s)) #{'2'}

        - 减号是运算符号,difference 是运算命令他们的结果是一样的

        由于前后两次 两个 集合被比较的 关系对调了 所以 结果两次输出的结果也不同

        4、交叉补集 只保留两者不同的部分

    s = {1,2,3,'m', 'a', 'd'}
    s1 ={1,'2',3,'m', 'd'}
    print(s ^ s1) #{2, '2', 'a'}
    print(s1.symmetric_difference(s)) #{2, '2', 'a'}

        ^ 是运算符号,symmetric_difference是运算命令他们的结果是一样的

        5、isdisjoint 判断是否有交集返回布尔值

    s = {1,2,3,'m', 'a', 'd'}
    s1 ={1,'2',3,'m', 'd'}
    s2 = {15,22}
    print(s1.isdisjoint(s2)) #True
    print(s1.isdisjoint(s)) #False

        没有交集就返回 True 有交集就返回False

        6、issubset判断后者是否包含前者 返回布尔值

    s = {1,2,3,'m', 'a', 'd'}
    s1 ={1,2,3,'m', 'd'}
    s2 = {15,22,1}
    print(s1.issubset(s2)) #False
    print(s1.issubset(s)) #True

        如果后者包含前者 则返回 True 如果后者不完全包含前者 则返回 False

        7、issuperset判断前者是不是完全包含后者,返回布尔值

    s = {1,2,3,'m', 'a', 'd'}
    s1 ={1,2,3,'m', 'd'}
    s2 = {15,22,1}
    s3 ={1,2,3,'m', 'a', 'd'}
    print(s.issuperset(s2)) #False
    print(s.issuperset(s1)) #True
    print(s.issuperset(s3)) #True

        前者完全包含后者 则 返回 True 没有完全包含后者则返回False 前后两者相等也是True

        8、update 更新

    s = {1,2,3,'m', 'a', 'd'}
    s3 ={1,2,3,'m', 'a', 'd'}
    s1 ={1,2,3,'m', 'd'}
    s2 = {15,22,1}
    s.update(s3)
    print(s) #{1, 2, 3, 'a', 'm', 'd'}
    print(s3) #{1, 2, 3, 'd', 'm', 'a'}
    s1.update(s2)
    print(s1) #{1, 2, 3, 'm', 22, 'd', 15}
    print(s2) #{1, 22, 15}

        把后者的元素 更新到前者内

        PS:

        访问方式

        直接 访问:数字

        顺序访问:字符串、列表、元祖

        映射(keys):字典

        字典的查询速度最快 但是字典占内存会比较高

        存放元素个数:

        容器类(存放多个值):列表、元祖、字典

        原子类(只能存放一个值):数字、字符串

    总结

        以上就是关于python中的集合的介绍,上述常用集合命令有一定的借鉴价值,有需要的朋友可以参考学习,希望对大家学习Python 集合有帮助,想要了解更多可以继续浏览群英网络其他相关的文章。

    文本转载自脚本之家

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

    标签: Python 集合
    相关信息推荐
    2022-09-26 18:00:40 
    摘要:将会对变量赋值过程中,PHP内部对数据处理的原理进行阐述,不过在讲述该原理前,需要先了解一下变量名和它的值是如何关联起来的,这个对变量赋值的理解非常重要
    2022-07-09 17:35:45 
    摘要:方法:1、用“array_shift(数组)”删除第一个值;2、用“array_pop(数组)”删除最后一个值;3、用“unset($数组名[下标])”删除指定下标的值;4、用“array_splice(数组,位置,1)”删除指定位置的值。
    2022-10-08 17:52:19 
    摘要:PHP中要使用ImageMagick,需要安装imagick扩展,imagick与gd扩展类似,主要用于图像处理,但是imagick的功能更强大。下面简单介绍imagick在两种常用环境中的安装方法。
    云活动
    推荐内容
    热门关键词
    热门信息
    群英网络助力开启安全的云计算之旅
    立即注册,领取新人大礼包
    • 联系我们
    • 24小时售后:4006784567
    • 24小时TEL :0668-2555666
    • 售前咨询TEL:400-678-4567

    • 官方微信

      官方微信
    Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
    增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
    免费拨打  400-678-4567
    免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
    微信公众号
    返回顶部
    返回顶部 返回顶部