美文网首页
组合数据类型—集合类型(set)2020-08-07

组合数据类型—集合类型(set)2020-08-07

作者: 看不到任何出路 | 来源:发表于2020-08-07 21:10 被阅读0次
    • 特点:
      1.元素不可重复;
      2.元素类型只能是固定数据类型:例如整数、浮点数、字符串、元组等;列表、字典和集合类型本身都是可变数据类型,不能作为集合的元素出现;
      3.元素无顺序,不能进行索引和切片;
      4.集合中的元素可以动态增加或删除;
    • 创建方式:
    s={425,"BIT",(10,"CS"),424}
    >>> W=set("apple")
    >>> W
    {'a', 'e', 'p', 'l'}
    >>> V=set(("cat",'dog','tigger'))
    >>> V
    {'cat', 'tigger', 'dog'}
    
    • 集合类型的操作符(共10个):
    操作符 描述
    S-T或S.difference(T) 返回一个新集合,包括在集合S中但不在集合T中的元素
    S-=T或S.difference_update(T) 更新集合S,包括在集合S中但不再集合T中的元素
    S&T或S.intersection(T) 返回一个新集合,包括同时在集合S和T中的元素
    S&=T或S.intersection_update(T) 更新集合S,包括同时在集合S和T中的元素
    S^T或S.symmetric_difference(T) 返回一个新集合,包括集合S和T中的元素,但不包括同时在其中的元素
    S^=T或S.symmetric_difference_update(T) 更新集合S,包括集合S和T中的元素,但不包括同时在其中的元素
    S|T或S.union(T) 返回一个新集合,包括集合S和T中的所有元素
    S|=T或S.update(T) 更新集合S,包括集合S和T中的所有元素
    S<=T或S.issubset(T) 如果S与T相同或S是T的子集,返回True,否则返回False,可以用S<T判断S是否是T的真子集
    S>=T或S.isuperset(T) 如果S与T相同或S是T的超集,返回True,否则返回False,可以用S>T判断S是否是T的真超集
    • 集合类型的操作函数或方法(共10个):
    操作函数或方法 描述
    S.add(x) 如果数据项x不在集合S中,将x增加到S
    S.clear() 移除S中的所有数据项
    S.copy() 返回集合S的一个副本
    S.pop() 随机返回集合S中的一个元素,如果S为空,产生KeyError异常
    S.discard(x) 如果x在集合S中,移除该元素;如果x不在集合S中,不报错
    S.remove(x) 如果x在集合S中,移除该元素;不在则产生KeyError异常
    S.isdisjoint(T) 如果集合S与T没有相同元素,返回True
    len(S) 返回集合S的元素个数
    x in S 如果x是S的元素,返回True,否则返回False
    x not in S 如果x不是S的元素,返回True,否则返回False
    • 用法:
    >>> "BIT" in {"PYTHON","BIT",123,"GOOD"}#成员关系测试
    True
    >>> tup={"PYTHON","BIT",123,"GOOD",123}#元素去重
    >>> set(tup)
    {'BIT', 123, 'PYTHON', 'GOOD'}#去重同时删除数据项
    >>> newtup=tuple(set(tup)-{'PYTHON'})
    >>> newtup
    (123, 'BIT', 'GOOD')
    

    相关文章

      网友评论

          本文标题:组合数据类型—集合类型(set)2020-08-07

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