zoukankan      html  css  js  c++  java
  • 从零开始的Python学习Episode 9——集合

    集合

    集合是一个无序的不重复的数据组合,是python基本的数据类型,把不同的元素组成一起就形成集合。

    一、创建集合

    s = set('smile')
    list = ['1','2','3']
    print(s) #{'i', 'm', 's', 'e', 'l'}
    s1 =set(list)
    print(s1) #{'1', '3', '2'}

    集合分两种:可变集合、不可变集合

    可变集合(set):可添加和删除元素,非可哈希的,不能用作字典的键,也不能做其他集合的元素。

    不可变集合(frozenset):与上面相反,我们也可以调用frozenset()方法来创建一个不可变集合。

    二、访问集合

    集合是无序的,而且没有键(key),所以不能用索引和键来访问集合中的元素,只能通过遍历来查询集合中的元素 或者 通过in、not in关键字来判断集合中是否存在某元素。

    三、更新集合

    add()方法,添加一个元素

    s = set('smile')
    s.add('pup')
    print(s)#{'i', 'pup', 'l', 'm', 'e', 's'}
    

    update()方法,添加多个元素

    s = set('smile')
    s.update('pup')
    print(s)#{'l', 'i', 'm', 's', 'e', 'p', 'u'}
    

    remove()方法,删除一个特定元素

    s = set('smile')
    s.remove('m')
    print(s)#{'s', 'e', 'l', 'i'}
    

    clear()方法,清空集合

    s = set('smile')
    s.clear()
    print(s)#set()空集合
    

      

    注意:只有可变集合才能更新。

    四、集合类型操作符

    并集:

    s = set('smile')
    s1 = set('smilepu')
    s2 = s1|s
    print(s2)#{'u', 'm', 's', 'e', 'l', 'i', 'p'}
    s2=s1.union(s)
    print(s2)#{'u', 'm', 's', 'e', 'l', 'i', 'p'}

    交集:

    s = set('smile')
    s1 = set('smilepu')
    s2 = s1&s
    print(s2)#{'i', 'm', 'l', 's', 'e'}
    s2=s1.intersection(s)
    print(s2)#{'i', 'm', 'l', 's', 'e'}
    

    差集:

    s = set('smile')
    s1 = set('smilepu')
    s2 = s1-s
    print(s2)#{'u', 'p'}
    s2=s1.difference(s)
    print(s2)#{'u', 'p'}
    

    对称差集(异或):选出不同的元素

    s = set('smile')
    s1 = set('smilepu')
    s2 = s1^s
    print(s2)#{'p', 'u'}
    s2=s1.symmetric_difference(s)
    print(s2)#{'p', 'u'}
    

    子集:用<、issubset()判断是否是子集

    s1={1,2,3,4}
    s2={3,4,5,6}
    s3={2,3,4}
    print(s2<s1)#False
    print(s3<s1)#True
    print(s3.issubset(s1))#True
    

    超集:>、issuperset()

    s1={1,2,3,4}
    s2={3,4,5,6}
    s3={2,3,4}
    print(s1>s2)#False
    print(s1>s3)#True
    print(s1.issuperset(s3))#True
    

      

  • 相关阅读:
    C# 抽象方法和虚方法的区别
    xmlhttprequest readyState 属性的五种状态
    ServiceStack破解文件
    k8s部署mysql
    docker 开放2376端口的问题
    .net core 发布到IIS 没有 web.config 文件
    1064
    docker mysql 主从同步配置
    Docker 鼠标在虚拟机与主机之间自由切换
    Socket原理解析2
  • 原文地址:https://www.cnblogs.com/smilepup-hhr/p/9715784.html
Copyright © 2011-2022 走看看