zoukankan      html  css  js  c++  java
  • python set集合一些基本方法

    set集合是一个无序且不重复的元素集合

    这个数据类型没有重复的,而且也没有顺序

    一些基本的方法:

    添加元素

    s1 = {11, 22, 33}
    s1.add(123)#添加一个新的元素
    print(s1)
    
    {123, 33, 11, 22}

    清除内容:

    s1 = {11, 22, 33}
    s1.clear()#clear会清除所有的内容
    print(s1)
    
    set()

    差集

    s1 = {11, 22, 33}
    s2 = {22, 33, 44}
    s3 = s1.difference(s2)#只输出前者存在的,后者不存在的
    print(s3)
    
    {11}
    s1 = {11, 22, 33}
    s2 = {22, 33, 44}
    s1.difference_update(s2)#更新差集到前者,只输出前者存在的,后者不存在的,但是这个不需要第三个变量
    print(s1)
    
    {11}

    交集:

    s1 = {11, 22, 33}
    s2 = {22, 33, 44}
    s3 = s1.intersection(s2)#只输出它俩公有的
    print(s3)
    
    {33,22}
    s1 = {11, 22, 33}
    s2 = {22, 33, 44}
    s1.intersection_update(s2)#更新交集到前者,只输出它俩公有的,这种方法不需要第三个变量
    print(s1)
    
    {33,22}

    移出指定元素:

    s1 = {11, 22, 33}
    s2 = {22, 33, 44}
    s1.discard(11)#可以看到如果存在,就删除后返回剩余的元素
    print(s1)
    s2.discard(456)#如果不存在,也返回剩余的元素,不会报错
    print(s2)
    
    {33, 22}
    {33, 44, 22}

    判断是否有交集:

    s1 = {11, 22, 33}
    s2 = {22, 33, 44}
    print(s1.isdisjoint(s2))#判断是否有交集,如果没有返回True,否者返回False
    
    False

    随机移出元素:

    s1 = {11, 22, 33}
    s1.pop()#这个是随机移出得,因为set集合没有顺序
    print(s1)
    
    {11,33}

    移出指定元素:

    s1 = {11, 22, 33}
    s2 = {22, 33, 44}
    s1.remove(11)#存在则不报错
    print(s1)
    s2.remove(456)#不存在报错
    print(s2)
    
    {33,22}
        s2.remove(456)
    KeyError: 456

    对称差集:

    s1 = {11, 22, 33}
    s2 = {22, 33, 44}
    s3 = s1.symmetric_difference(s2)#将它俩所有不相同的元素放在一起
    print(s3)
    
    {11,44}
    s1 = {11, 22, 33}
    s2 = {22, 33, 44}
    s1.symmetric_difference_update(s2)#将更新的内容放到前者,不需要第三个变量,其他跟上面一样
    print(s1)
    
    {11,44}

    并集:

    s1 = {11, 22, 33}
    s2 = {22, 33, 44}
    s3 = s1.union(s2)#把它俩的内容全部输出到一起,但是set集合是唯一的,所以输出的内容没有一样的
    print(s3)
    
    {33, 22, 11, 44}

    更新:

    s1 = {11, 22, 33}
    s2 = {22, 33, 44}
    s1.update(s2)#跟上面一样,但时没有第三个变量
    print(s1)
    
    {33, 22, 11, 44}
    作者:smelond
             
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    将其他js类库制作成seajs模块
    Jquery 数组操作
    jquery 数组 添加元素
    Asp.net core MVC paypal支付、回调——app支付
    最近接触的几种APP支付方式——支付宝支付
    最近接触的几种APP支付方式——信用卡支付AuthorizeNet
    最近接触的几种APP支付方式——微信app支付
    微信选择图片、上传图片、下载图片、扫一扫接口调用源码
    Oracle连接查询语句
    在ps中,怎么把图片的一部分剪切出来,创建一个新的图层?
  • 原文地址:https://www.cnblogs.com/smelond/p/7892649.html
Copyright © 2011-2022 走看看