• 数据类型之集合 set &运算关系


    1.集合 set

        用途:关系运算、去重

        定义:{ }内用逗号分隔开的多个元素,每个元素都必需是不可变的类型

            强调;

                1.集合类元素都必需是不可变类型

                2.集合内的元素是无序的 ,所以没有索引

                3.集合内的元素不能重复

            sed={1,2,‘a’}

            print(sed={1,2,{“a”:1}})  直接报错

             s={1,'a','hello',(1,2,3),4}
                 for item in s:

                     print(item)                每次循环结果顺序错乱

                s={(1,2,3),(1,2,3),'a','b','a'}
                         print(s)                            自动删除重复的元素

            s=set('hello')
                 print(s)                            顺序错乱

     单纯的用集合去重,需要注意的问题是
    1    去重的目标所包含的值必须都为不可变类型

    2、去重的结果会打乱原来的顺序

    常用操作+内置的方法

            s1={1,2,3,4,5}
            s1.add(6)                                                 
     #集合增加元素
            print(s1)

    1.长度 len 

    2.循环 for

    3.判断 in 和not in

    4. 并集 |

    print(pythoners | linuxers)                    显示两者索引元素,去除重复的元素
    print(pythoners.union(linuxers))

    5.交集  &

    print(pythoners & linuxers)                                显示相同的元素

    print(pythoners.intersection(linuxers))

    6.差集 -

    print(pythoners - linuxers)                                            删除相同的元素
    print(pythoners.difference(linuxers))

    7.对称差集 ^

     print(pythoners ^ linuxers)                                                  删除相同元素,显示两者的元素

    print(pythoners.symmetric_difference(linuxers)

    8. 等于 ==

    9.父集 (包含关系)    > >=

    s1={1,2,3,4,5}
    s2={1,2,3}
    print(s1 > s2) # s1包含s2
    print(s1.issuperset(s2))                                   判断父集

    10.子集 (被包含的关系)  < <=       isdisjoint判断是否无交集           

    print(s2.issubset(s1))                                       判断子集

     print(s1.isdisjoint(s2))                                  判断是否无交集

    11.更新=增加集合       update                     向集合里面增加集合

    s1.update({4,7,8,9})

     print(s1)

    12.删除            remove  pop discard 
    # res=s1.pop()
    # print(res)

    # res=s1.remove(4)
    # print(res)

    # print(s1)

    s1.discard(7)          # 即便要删除的元素不存在也不会报错

    二:该类型总结
        #1 存一个值or存多个值
                可以存多个值,值都必须为不可变类型

    # 2 有序or无序
        无    序

    # 3 可变or不可变
                # set集合是可变类型
                # s={1,2,3}
                # print(id(s))
                # s.add(4)
                # print(s)

                # print(id(s))

    #=====================集合的去重==========================
    # 单纯的用集合去重,需要注意的问题是
    #1、去重的目标所包含的值必须都为不可变类型
    #2、去重的结果会打乱原来的顺序
    # names=['asb','asb','asb','wsb','wsb','egon_nb',[1,2,3]]                 
    # s=set(names)

    # names=list(s)                                     去重目标必须为不可变类型,

    # print(names)                                        直接报错  

  • 相关阅读:
    【ASP.NET 插件】zyUpload的HTML5上传插件
    【软件】图文解释XCode常用快捷键的使用
    【软件使用】Windows下的Objective-C集成开发环境搭建(IDE)
    【Javascript Demo】移动端访问PC端网页时跳转到对应的移动端网页
    【网络文摘】30多年程序员生涯经验总结
    【算法】网上看到的5个问题
    【ASP.NET 进阶】定时执行任务
    【ASP.NET 基础】Page类和回调技术
    【ASP.NET 基础】表单和控件
    【ASP.NET 基础】ASP.NET内置对象
  • 原文地址:https://www.cnblogs.com/Marcki/p/10111972.html
Copyright © 2020-2023  润新知