zoukankan      html  css  js  c++  java
  • 集合类型

     集合类型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)

  • 相关阅读:
    使用哈工大LTP进行文本命名实体识别并保存到txt
    gpu命令cuda命令
    python路径拼接os.path.join()函数的用法
    pytorch利用多个GPU并行计算多gpu
    pytorch 多GPU训练总结(DataParallel的使用)
    解决 win10 pycurl安装出错 Command "python setup.py egg_info" failed with error code 10 编译安装包 安装万金油
    解决:"UnicodeEncodeError: 'ascii' codec can't encode character u'xa0' in position"错误
    windows下多版本python安装与pip安装和pip使用 吐血总结
    Python 能做什么?
    Oracle中的索引详解
  • 原文地址:https://www.cnblogs.com/martin-wang/p/10025322.html
Copyright © 2011-2022 走看看