• Python数据类型之五(集合)


    集合的作用

       知识点回顾:可变类型是不可hash类型,不可变类型是可hash类型

        作用:去重,关系运算

        定义:可以包含多个元素,用逗号分割,集合的元素遵循三个原则:

          1.每个元素必须是不可变类型(可hash,可作为字典的key)

          2.没有重复的元素

          4.无序

        注意集合的目的是将不同的值存放在一起,不同的集合间用来做关系运算,无需纠结集合中的单个值

    二、常用方法

    #!/usr/bin/python3
     
    student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
     
    print(student)   # 输出集合,重复的元素被自动去掉
     
    # 成员测试
    if('Rose' in student) :
        print('Rose 在集合中')
    else :
        print('Rose 不在集合中')
     
     
    # set可以进行集合运算
    a = set('abracadabra')
    b = set('alacazam')
     
    print(a)
     
    print(a - b)     # a和b的差集
     
    print(a | b)     # a和b的并集
     
    print(a & b)     # a和b的交集
     
    print(a ^ b)     # a和b中不同时存在的元素
    
    |并集(print(pythons.union(linuxs)))
    
    &交集(print(pythons.intersection(linuxs)))
    
    -差集(print(pythons.difference(linuxs)))
    
    ^对称差集(print(pythons.symmetric_difference(linuxs)))
    
     >,>= ,<,<= 父集(issuperset),子集(issuberset)

    set方法

    1:add方法添加,添加可变的数据类型也是会报错的

    s = {1,2,5,5,'g','h'}
    
    s.add(3)
    prin(s)
    结果:
    {1, 2, 3, 5, 'h', 'g'}

    2:clear   清空集合

    3:intersection  交集,相当于&

    s = {1,7,9} 
    s1 = {1,9,5}
    print(s&s1)
    print(s.intersection(s1))
    结果:
    {9, 1} 
    {9, 1}

    4:union  并集,相当于 |

     s = {1,7,9}
    s1 = {1,9,5}  
    print(s|s1)  
    print(s.union(s1))
    结果:
    {1,5,7,9}
    {1,5,7,9}

    5:difference  差集,相当于-

    s = {1,7,9}  
    s1 = {1,9,5} 
    print(s-s1)  
    print(s.difference(s1))
    结果:
    {7} 
    {7}

    6:symmetric_difference  交叉补集,相当于^

    s = {1,7,9}  
    s1 = {1,9,5}  
    print(s^s1)  
    print(s.symmetric_difference(s1))  
    结果:
    {5, 7}  
    {5, 7}

    7:difference-update   差集更新
    8:isdisjoint        判断是否有交集:

    9:issubset        判断是否为子集

    s1={1,2}  
    s2={1,2,3}  
    print(s1.issubset(s2))  
    print(s2.issubset(s1))    
    结果: 
    True
    False

    10:删除

    s = {9, 'sb', 1, 2, 3, 4, 5, 6}  
    s.pop()   # pop不能指定删除,只可以随机删除  
    print(s)    
    s.remove(4) # 指定删除元素,当删除的元素不存在时,删除会报错
    print(s)   
    s.discard(5)   # 指定元素删除;和remove唯一的区别删除不存在不会报错
    print(s)       
    结果:
    {2, 3, 4, 5, 6, 9, 'sb'}
    {2, 3, 5, 6, 9, 'sb'}
    {2, 3, 6, 9, 'sb'}

     

  • 相关阅读:
    nc之二:nc命令详解
    memcache redundancy机制分析及思考
    memcache和redis区别
    java操作mongodb
    Memcache缓存与Mongodb数据库的优势和应用
    memcache 存储单个KEY,数据量过大的时候性能慢!以及简单的memcache不适合用到的场景
    pkill详解
    修改linux用户密码
    Mysql函数INSTR、LOCATE、POSITION VS LIKE
    Servlet3.0之九:web模块化
  • 原文地址:https://www.cnblogs.com/zhouxinyu/p/8511871.html
Copyright © 2020-2023  润新知