• 集合类型


     集合类型set
     ======================================基本使用======================================
    1、用途:I: 关系运算 II:去重

     2、定义方式:在{}内用逗号分隔开多个元素,但是元素的特点是
     I: 集合内的元素必须是不可变类型
     II: 集合内元素无序
     III: 集合内元素不能重复

     s={1,'aaa',2,} #s=set(...)
     print(s,type(s))

     s=set()
     print(s,type(s))

     s={1,1,1,1,1,1,1,1,1,1,1,1,'a','a','a'}
     print(s)

     数据类型转换
     res=set('hello')
     print(res)

     res=set([1,'a','b'])
     print(res)

     3、常用操作+内置的方法
    优先掌握的操作:
    1、长度len
    2、成员运算in和not in


    pythons={'张铁蛋','李铜淡','王金蛋','赵银胆','alex','kevin'}
    linuxs={'oldboy','张铁蛋','赵银胆','alex','wxx'}
    3、|合集:求所有报名的学生
     print(pythons | linuxs)
     print(pythons.union(linuxs))

    4、&交集:求同时报名两门课程的学生
     print(pythons & linuxs)

    5、-差集: 求只报名python课程的学员
     print(pythons - linuxs)
     print(linuxs - pythons) #求只报名linux课程的学员

    6、^对称差集:求没有同时报名两门课程的学生
     res=(pythons - linuxs) | (linuxs - pythons)
     res=pythons ^ linuxs
     print(res)

    7、==
     s1={1,2,3}
     s2={3,2,1}
     print(s1 == s2)

     注意:父子集描述的是一种包含与被包含的关系
    8、父集:>=
    9、子集:<=
     s1={1,2,3}
     s2={1,2,3,4}
     print(s2 >= s1)
     print(s1 <= s2)

     需要掌握的
     s1={1,2,3}
     s1.update({3,4,5,6})
     print(s1)

    s1={1,'aa','bb',3}
     print(s1.pop())

     res=s1.remove('bbbbbb')
     print(s1)
     print(res)

     s1.discard('bbb')
     s1.add(4)
     print(s1)
     ======================================该类型总结====================================
     存多个值

     无序

     可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)


     集合的去重
     局限性
    1. 只能针对不可变类型
    2. 不能保证原来的顺序
     names=['egon','egon','egon','alex','alex','kevin']

     new_names=list(set(names))
     print(new_names)


    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'},
    ]
    new_l=[]
    for dic in l:
    if dic not in new_l:
    new_l.append(dic)

    print(new_l)

    hash)

  • 相关阅读:
    一个给照片换底色的牛逼网站
    如何写好ppt
    当你迷茫时,就来看看这个视频!
    IPV6地址检测
    性能测试流程
    pycharm中无法以pytest运行
    Mac charles配置完成后无法上网
    Mac Mysql安装过程的各种坑
    python常用模块之——正则re模块
    Jmeter参数化真香
  • 原文地址:https://www.cnblogs.com/martin-wang/p/10025322.html
Copyright © 2020-2023  润新知