python3 集合

集合:
    數學上,把set稱作由不同的元素組成的集合,集合(set)的成員通常被稱做集合元素。
    集合對象是一組無序排列的可哈希的值。
    集合有兩種類型:
        1、可變集合set
        2、不可變集合frozenset

特點:
    1、值不可以重複

    創建可變集合set
    >>> s1 = set('hello')
    >>> s1
    {'h', 'l', 'o', 'e'}  #值不可以重複,所以兩個L合併成一個L

    創建不可變集合frozenset
    >>> s2 = frozenset('hello')
    >>> s2
    frozenset({'h', 'l', 'o', 'e'})

    創建整體集合:
    >>> s3 = set(['hello', 'world'])
    >>> s3
    {'hello', 'world'}

集合類型操作符:
    集合支持用in和not in操作符檢查chengy
    能夠通過len()檢查集合大小 
    能夠使用for迭代集合成員
    不能取切邊,沒有鍵
    >>> s3 = set(['hello', 'world'])
    >>> s3
    {'hello', 'world'}
    >>> len(s3)
    2

    >>> for i in s3:     #迭代集合成員
    ...     print(i)
    ... 
    hello
    world

| :聯合,取並集  #兩個集合合併成一個,相同集合元素合併,可以用函數union表示
    >>> a | b
    {'e', 'b', 'c', 'a', 'd'}

    >>> a.union(b)
    {'e', 'b', 'c', 'a', 'd'}

& :交集       #兩個集合中都有的元素‘C’,可以用函數intersection表示
    >>> a = set('abc')
    >>> b = set('cde')
    >>> a
    {'b', 'c', 'a'}
    >>> b
    {'e', 'c', 'd'}
    >>> a & b
    {'c'}

    >>> a.intersection(b)
    {'c'}

- :差補   #取差異,    可使用函數difference表示。
    >>> a - b    #b集合中沒有a集合當中的那些元素,
    {'b', 'a'}

    >>> b - a    #a集合中沒有b集合當中的參數是那些
    {'e', 'd'}

    >>> a.difference(b)
    {'b', 'a'}

集合內建方法:
    添加成員:
    set.add()   #當成一個整體進行添加
        >>> a.add('new')
        >>> a
        {'b', 'new', 'c', 'a'}

    批量添加成員:
    set.update() #拆分進行添加,添加多個可以使用s3的方式

        >>> a.update('new')
        >>> a
        {'w', 'e', 'b', 'n', 'new', 'c', 'a'}

            >>> s3 = set(['hello', 'world'])
            >>> s3
            {'hello', 'world'}

    刪除成員:
    set.remove() #由於集合是無序的,無法取下標和key,只能指定刪除項
        >>> a.remove('n')
        >>> a
        {'w', 'e', 'b', 'new', 'c', 'a'}

    子集、超集:
        a集合中包含b集合的元素,所以a集合是b集合的超集,b集合是a集合的子集
        被包含的是子集,包含別人的是超集
        >>> a = set('abcde')
        >> b = set('bcd')
        >>> a
        {'e', 'b', 'c', 'a', 'd'}
        >>> b
        {'b', 'c', 'd'}

    X.issuperset(XX)    #判斷a集合是否爲b集合的超集
    >>> a.issuperset(b)
    True

    >>> b.issubset(a)   #判斷b集合是否爲a集合的子集
    True

    集合本身是自己的超集和子集
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章