• Python记录3:集合


    #一,集合类型
    ###找出两个集合的交集并将结果打印出来
    # python_stu=['egon','alex','kevin','王大炮','李二丫']
    # linux_stu=['张铁蛋','刘铜蛋','赵金蛋','alex','kevin','oldboy']
    # res=[]
    # for stu1 in python_stu:
    # if stu1 in linux_stu:
    # res.append(stu1)
    # print(res)
    #
    #2 集合
    # 定义方式:在{}用逗号分割开多个元素,但是集合内元素必须要满足一下特点
    #2.1: 必须是不可变类型
    #2.2: 不能重复
    #2.3: 集合内元素无序
    # s={1,1,1,1,1,1} #s=set({1,1,1,1,1,1})
    # print(s)
    # print(type(s))

    # s1=set('hello')
    # print(s1)
    # print(type(s1))

    # s={}
    # print(type(s))
    #这样定义一个空的,打印出来的是一个字典
    #要定义一个集合必须这样定义
    # s=set()
    # print(s,type(s))

    # s={'egon','alex','kevin','oldboy'}
    # print(s,type(s))

    # 3、常用操作+内置的方法
    #优先掌握的操作:(*****)
    #1、长度len
    # s={'egon','alex','kevin','oldboy'}
    # print(len(s))
    #2、成员运算in和not in
    # s={'egon','alex','kevin','oldboy'}
    # print('egon' in s)

    # python_stu={'egon','alex','kevin','王大炮','李二丫'}
    # for item in python_stu:
    # print(item)
    # linux_stu={'张铁蛋','刘铜蛋','赵金蛋','alex','kevin','oldboy'}
    #3、|合集:取两个集合合并后的结果,例如:取老男孩所有报名的学生姓名
    # print(python_stu | linux_stu)
    # print(python_stu.union(linux_stu))

    # python_stu=python_stu.union(linux_stu)
    # python_stu.update(linux_stu)
    # print(python_stu)

    #4、&交集: 取两个集合共同的部分,例如:取同时报名两门课程的学员
    # print(python_stu & linux_stu)
    # print(python_stu.intersection(linux_stu))
    # python_stu.intersection_update(linux_stu) #python_stu=python_stu.intersection(linux_stu)
    # print(python_stu)

    #5、-差集: 取存在于左边结合但不存在与右面集合的元素,例如:取只报名python课程的学员
    # print(python_stu - linux_stu)
    # print(python_stu.difference(linux_stu))

    #6、^对称差集:例如:取没有同时报名两门课程的学员
    # print((python_stu - linux_stu) | (linux_stu - python_stu))
    # print(python_stu ^ linux_stu)
    # print(python_stu.symmetric_difference(linux_stu))

    #7、==判断是否相等,集合中只要元素相等,集合就相等,集合是无序的
    # s1={1,2,3}
    # s2={3,2,1}
    # print(s1 == s2)

    #8、父集:>= print(s1.issuperset(s2))
    #9、子集:<= print(s2.issubset(s1))
    # s1={1,2,3,4}
    # s2={1,2,3}
    # print(s1 >= s2)
    # print(s1.issuperset(s2))
    # print(s2.issubset(s1))

    # 集合類型其他内置方法(**)
    ##pop 从最后面弹出来 一个一个按照顺序弹出来
    # s1={'a','b','c'}
    # print(s1.pop())
    # print(s1)
    # print(s1.pop())
    # print(s1)
    # print(s1.pop())
    # print(s1)

    # res=s1.remove('b')
    # print(s1)
    # print(res)
    # s1.remove('d')
    # s1.discard('d')
    # print(s1)

    # s1.add('d')
    # print(s1)

    # s1={1,2,3}
    # s2={6,4,5}
    # print(s1.isdisjoint(s2))
    #判断两个集合是否有交集
    # ======================================该类型总结====================================
    # 集合是存多个值的
    # 无序的
    # 可变类型(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)

    # s1={1,2,3}
    # print(id(s1))
    # s1.update({4,5,6})
    # print(s1)
    # print(id(s1))

    # 去重:
    # stus=['egon','egon','egon','kevin',1,2,3,'alex']
    # res=set(stus)
    # print(list(res))

    #去重的局限性:
    #1. 被去重的元素必須是不可变类型
    #2. 不能保证原来的顺序

    # l=[
    # {'name':'egon','age':18,'sex':'male'},
    # {'name':'alex','age':73,'sex':'male'},
    # {'name':'kevin','age':20,'sex':'female'},
    # {'name':'egon','age':18,'sex':'male'},
    # {'name':'egon','age':18,'sex':'male'},
    # ]
    # # print({'name':'egon','age':18,'sex':'male'} in l)
    # l1=[]
    # for dic in l:
    # if dic not in l1:
    # l1.append(dic)
    # print(l1)
  • 相关阅读:
    linux JAVA JDK环境配置
    逍遥语录
    php常用函数集
    使用uGUI系统玩转标准俄罗斯方块
    Unity3D中uGUI事件系统简述及使用方法总结
    JAVA笔记-如何将百万级数据高效的导出到Excel表单
    简单的异步Socket实现——SimpleSocket_V1.1
    Netty4.x中文教程系列(六) 从头开始Bootstrap
    Unity3D中简单的C#异步Socket实现
    基于Spring框架的简单多数据源切换解决办法
  • 原文地址:https://www.cnblogs.com/1832921tongjieducn/p/10068397.html
Copyright © 2020-2023  润新知