美文网首页
python 集合set

python 集合set

作者: 仁暮 | 来源:发表于2017-10-11 16:31 被阅读0次

    参考:http://blog.csdn.net/business122/article/details/7541486

    set(value)

    创建set

    s = set(seq)
    s = set('hello')
    print(s)
    # set(['h','l','e','o'])
    # 只有'h','e','l','o'这四个字符,这是一个无序不重复的元素集
    
    # 去除重复元素
    a = [11,22,33,44,11,22]  
    b = set(a)  
    print(b)  
    # set([33, 11, 44, 22])  
    print(list(b))
    # [33, 11, 44, 22]  
    
    # 添加
    t = set()
    t.add('Tom')  # 增加一项
    print(t)
    # {'Tom'}
    t.update(['Alice', 'Lily'])  # 增加多项
    # {'Lily','Tom','Alice'}
    

    set.remove(value)

    s = set('hello')
    s.remove('h')
    print(s)
    # {'e','o','l'}
    

    & | - ^

    交集,并集,补集

    x = set('spam')  
    y = set(['h','a','m'])  
      
    # x.intersection(y) 
    print(x & y) # 交集  
    # set(['a', 'm'])  
      
    # x.union(y)
    print(x | y) # 并集  
    # set(['a', 'p', 's', 'h', 'm'])  
      
    # x.difference(y)  
    print(x - y) # 求差集(项在t中,但不在s中) 
    # set(['p', 's'])  
    
    # x.symmetric_difference(y) 
    print(x ^ y)  # 对称差集(项在t或s中,但不会同时出现在二者中)  
    # set(['h','p','s'])
    

    len(set)

    获得set的长度

    x = set('spam')  
    print(len(x))
    # 4
    

    set.discard(value)

    从set中删除一个数字,如果不是数字,就什么也不会发生

    x = set()
    x.add(1)
    x.update(['as', 'sds', 'sd'])
    print(x.discard(1))
    # None
    print(x)
    # {'as', 'sds', 'sd'}
    
    print(x.discard('as))
    # None
    print(x)
    # {'as', 'sds', 'sd',1}
    

    set.pop()

    返回set中的一个随机值,然后将其从中删除

    set.clear()

    删除set中的所有元素

    set.copy()

    浅复制

    frozemset()

    set中的元素是无序的,使用frozenset生成的是一个不可变有序的集合

    a = frozenset(range(10))     # 生成一个新的不可变集合
    a
    frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
    b = frozenset('runoob') 
    b
    frozenset(['b', 'r', 'u', 'o', 'n'])   # 创建不可变集合

    相关文章

      网友评论

          本文标题:python 集合set

          本文链接:https://www.haomeiwen.com/subject/wvvwyxtx.html