Python学习 :集合

发布时间:2019-03-16 22:24:09编辑:auto阅读(1692)

    集合 Set

    集合的创建

    集合的创建只有一种方式

    集合中的元素必须是不可变的数据类型

    集合是无序的,可以通过 for 循环来遍历或者迭代器进行筛选

    s=set('xiaoming')
    s1=['alex','mike','alex','mary']
    s2=set(s1)
    print(s)
    print(s2)
    >>>{'a','g','m','x','o','n','i'}
    >>>{'mike','alex'}
    # 集合的重要特点:去重,重复元素只会显示一次
    s3=list(s)
    # 重新把集合转变为列表
    print(s3)
    >>>['mike','alex']
    

     

    集合的分类:可变集合、不可变集合

    可变集合(set):可添加和删除元素,不能作为字典的键

    不可变集合(frozenset):与可变集合相反

    集合的相关操作

    s = set('xiaoming')
    s1 = ['alex','mike','alex','mary']
    s = set(s1)
    
    1)add
    s.add('john')
    print(s)
    >>>{'alex', 'mary', 'mike', 'john'}
    
    2)update
    s.update('john')
    print(s)
    >>>{'alex','n','h','mike','o','j'}
    s.update(['john','damon'])#使用一个课迭代的容器list来把元素加入集合中
    print(s)
    >>>{'alex','mike','john'}
    
    3)pop
    s.pop()#pop不能指定删除某个特定的元素,每次只会删除一个参数
    print(s)
    >>>{'mike','alex'}
    
    4)remove
    s.remove('mike')#remove可以删除指定元素
    print(s)
    >>>{'mary', 'alex'}
    
    5)clear
    s.clear()#清空集合
    print(s)
    >>>set()
    
    6)del#删除集合
    

     

    集合类型操作符

    1)in,not in
    
    2)集合等价(==)与不等价(!=)
    
    3)子集、超集
    父集、超集(>)
    a=set([1,2,3,4])
    b=set([4,5,6,7])
    print(a.issuperset(b)) # a 是否完全包含 b
    >>> False
    子集(<) # a 是否属于 b
    print(a.issubset(b))
    >>> False
    
    4)联合即并集符号(|)
    联合(union)操作与集合的or操作是等价的,取两个集合中所有的元素print(a.union(b))
    # print(a|b)
    >>>{1,2,3,4,5,6,7}
    
    5)交集(&)
    print(a.intersection(b))
    # print(a&b)
    >>>{4}
    
    6)差集(-)
    print(a.difference(b))#inabutnotinb
    # print(a-b)
    >>>{1,2,3} 7)对称差集(^) print(a.symmetric_difference(b)) # print(a^b) >>>{1,2,3,5,6,7}

     

     

关键字