python中set常用操作汇总

441次阅读  |  发布于5年以前

sets 支持 x in set, len(set),和 for x in set。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持 indexing, slicing, 或其它类序列(sequence-like)的操作。

下面我们通过几个例子,来简单说明下

常用操作1


    In [2]: a = set() 

    In [3]: a
    Out[3]: set()

    In [4]: type(a)
    Out[4]: set

    In [5]: b = set([1, 3])

    In [6]: b
    Out[6]: {1, 3}

    In [7]: type(b)
    Out[7]: set

    In [8]: b.update(2)
    ---------------------------------------------------------------------------
    TypeError                 Traceback (most recent call last)
    <ipython-input-8-d51e2fe4c50a> in <module>()
    ----> 1 b.update(2)

    TypeError: 'int' object is not iterable

    In [9]: b.update({2})

    In [10]: b
    Out[10]: {1, 2, 3}

    In [11]: b.update([4])

    In [12]: b
    Out[12]: {1, 2, 3, 4}

    In [13]: a.di
    a.difference     a.difference_update a.discard

    In [13]: a.dif
    a.difference     a.difference_update

    In [13]: a.difference(b)
    Out[13]: set()

    In [14]: a
    Out[14]: set()

    In [15]: b.difference(a)
    Out[15]: {1, 2, 3, 4}

    In [16]:

常用操作2


    In [16]: a.add({1, 3})
    ---------------------------------------------------------------------------
    TypeError                 Traceback (most recent call last)
    <ipython-input-16-98cdf4d0875e> in <module>()
    ----> 1 a.add({1, 3})

    TypeError: unhashable type: 'set'

    In [17]: a.add(4)

    In [18]: a
    Out[18]: {4}

    In [19]: a.issu
    a.issubset  a.issuperset

    In [19]: a.issubset(b)
    Out[19]: True

    In [20]: a.remove(4)

    In [21]: a
    Out[21]: set()

    In [22]: a.union(b)
    Out[22]: {1, 2, 3, 4}

    In [23]: a
    Out[23]: set()

    In [24]: b
    Out[24]: {1, 2, 3, 4}

    In [25]: b.pop()
    Out[25]: 1

    In [26]: a.copy(b)
    ---------------------------------------------------------------------------
    TypeError                 Traceback (most recent call last)
    <ipython-input-26-9e8a5f057ffd> in <module>()
    ----> 1 a.copy(b)

    TypeError: copy() takes no arguments (1 given)

    In [27]: a.copy()
    Out[27]: set()

    In [28]: c = a.copy()

    In [29]: c
    Out[29]: set()

    In [30]: a
    Out[30]: set()

    In [31]: a.add({234})
    ---------------------------------------------------------------------------
    TypeError                 Traceback (most recent call last)
    <ipython-input-31-6073e02d68a9> in <module>()
    ----> 1 a.add({234})

    TypeError: unhashable type: 'set'

    In [32]: a.add(234)

    In [33]: c
    Out[33]: set()

    In [34]: a
    Out[34]: {234}


常用操作3


    In [35]: a.clear()

    In [36]: a
    Out[36]: set()

    In [39]: a = {1}

    In [40]: b = {1, 2}

    In [41]: a.intersection(b)
    Out[41]: {1}

    In [43]: a
    Out[43]: {1}

    In [44]: b = {1, 2, 3}

    In [45]: a.union(b)
    Out[45]: {1, 2, 3}

    In [45]: a.union(b)
    Out[45]: {1, 2, 3}

    In [46]: a & b
    Out[46]: {1}

    In [47]: a ^ b
    Out[47]: {2, 3}

    In [48]: a - b
    Out[48]: set()

    In [49]: b - a
    Out[49]: {2, 3}

    In [50]: a > b
    Out[50]: False

    In [51]: b > a
    Out[51]: True

    In [52]: a == b
    Out[52]: False

    In [53]: a != b
    Out[53]: True

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8