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
    

      

  • 相关阅读:
    java encoding
    [转]shell 变量的作用域
    [转] shell :解析json的命令-jq
    [转] Linux user-space Atomic Operations && GCC Atomic builtins
    [转]reference counting
    [转]memory order,memory barrier,原子操作
    [转]c语言volatile 关键字
    OCF介绍
    [转]计算机存储 cache介绍
    [转] linux IO
  • 原文地址:https://www.cnblogs.com/smilepup-hhr/p/9715784.html
Copyright © 2011-2022 走看看