• 技术文章 >后端开发 >Python教程

    python中set常用操作

    高洛峰高洛峰2017-03-01 14:00:53原创755
    python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算

    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


    更多python中set常用操作相关文章请关注PHP中文网!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:python set
    上一篇:python dict.get()和dict['key']的区别 下一篇:Python操作RabbitMQ服务器消息队列的远程结果返回
    php培训_php实战培训【立即报名】-php中文网第20期

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 归纳总结Python中的装饰器知识点• python中API调用的详解与示例• 手把手教你在Python使用plot()函数画图• 详细解析python正则表达式re模块• 一文搞定Python中pip的安装与使用
    1/1

    PHP中文网