zoukankan      html  css  js  c++  java
  • Python 集合(set)类型的操作——并交差

    介绍

    python的set是一个无序不重复元素集,基本功能包括关系测试和消除重复元素. 集合对象还支持并、交、差、对称差等。

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

    基本操作

    >>> x = set("jihite")
    >>> y = set(['d', 'i', 'm', 'i', 't', 'e'])
    >>> x       #把字符串转化为set,去重了
    set(['i', 'h', 'j', 'e', 't'])
    >>> y
    set(['i', 'e', 'm', 'd', 't'])
    >>> x & y   #交
    set(['i', 'e', 't'])
    >>> x | y   #并
    set(['e', 'd', 'i', 'h', 'j', 'm', 't'])
    >>> x - y   #差
    set(['h', 'j'])
    >>> y - x
    set(['m', 'd'])
    >>> x ^ y   #对称差:x和y的交集减去并集
    set(['d', 'h', 'j', 'm'])

    函数操作

    >>> x
    set(['i', 'h', 'j', 'e', 't'])
    >>> s = set("hi")
    >>> s
    set(['i', 'h'])
    >>> len(x)                    #长度
    5
    >>> 'i' in x
    True
    >>> s.issubset(x)             #s是否为x的子集
    True
    >>> y
    set(['i', 'e', 'm', 'd', 't'])
    >>> x.union(y)                #交
    set(['e', 'd', 'i', 'h', 'j', 'm', 't'])
    >>> x.intersection(y)         #并
    set(['i', 'e', 't'])
    >>> x.difference(y)           #差
    set(['h', 'j'])
    >>> x.symmetric_difference(y) #对称差
    set(['d', 'h', 'j', 'm'])
    >>> s.update(x)               #更新s,加上x中的元素
    >>> s
    set(['e', 't', 'i', 'h', 'j'])
    >>> s.add(1)                  #增加元素
    >>> s
    set([1, 'e', 't', 'i', 'h', 'j'])
    >>> s.remove(1)               #删除已有元素,如果没有会返回异常
    >>> s
    set(['e', 't', 'i', 'h', 'j'])
    >>> s.remove(2)
    
    Traceback (most recent call last):
      File "<pyshell#29>", line 1, in <module>
        s.remove(2)
    KeyError: 2
    >>> s.discard(2)               #如果存在元素,就删除;没有不报异常
    >>> s
    set(['e', 't', 'i', 'h', 'j'])
    >>> s.clear()                  #清除set
    >>> s
    set([])
    >>> x
    set(['i', 'h', 'j', 'e', 't'])
    >>> x.pop()                    #随机删除一元素
    'i'
    >>> x
    set(['h', 'j', 'e', 't'])
    >>> x.pop()
    'h' 
  • 相关阅读:
    telnet -测试端口号
    JMS与MQ详解(有项目)
    Spring JdbcTemplate方法详解
    Spring任务调度器之Task的使用
    基于注解的Spring AOP的配置和使用
    JSONObject转换JSON--将Date转换为指定格式
    request.getParameterMap()使用方法
    python中的内存管理
    python解释器和变量
    理解什么是操作系统
  • 原文地址:https://www.cnblogs.com/kaituorensheng/p/4511214.html
Copyright © 2011-2022 走看看