zoukankan      html  css  js  c++  java
  • day3 集合

    集和

      集合是一个无序的,不重复的数据组合,它的主要作用如下:

    • 去重,把一个列表变成集合,就自动去重了
    • 关系测试,测试两组数据之前的交集、差集、并集等关系

    set创建集合

    >>> s = set([3,5,9,10])     #创建一个数值集合 
    >>> t = set("Hello")    #创建一个唯一字符的集合
    >>> s
    {9, 10, 3, 5}
    >>> t
    {'e', 'H', 'l', 'o'}    #集和自动去重
    >>> type(s),type(t)
    (<class 'set'>, <class 'set'>)    #集和类型
    >>> len(s)    #集和长度
    4
    >>> s==t
    False
    >>> s1=s
    >>> s1
    {9, 10, 3, 5}
    >>> s1==s
    True

    由于集合本身是无序的,所以不能为集合创建索引或切片操作,只能循环遍历或使用in、not in来访问或判断集合元素。

    >>> t
    {'e', 'H', 'l', 'o'}
    >>> "e" in t
    True
    >>> "a" in t
    False
    >>> "a " not in t
    True
    >>> for i in t:
    
        print(i)
    
        
    e
    H
    l
    o

    可使用以下内建方法来更新:

    s.add()
    s.update()
    s.remove()

    注意只有可变集合(set创建的集和,frozense创建的集和是不可变集和)才能更新:

    >>> s
    {9, 10, 3, 5}
    >>> t
    {'e', 'H', 'l', 'o'}
    >>> s.add(1)    #添加一个元素
    >>> s
    {9, 10, 3, 5, 1}
    >>> s.update([0,2,4])    #添加多个元素
    >>> s
    {0, 1, 2, 3, 4, 5, 9, 10}
    >>> t.add('python')
    >>> t
    {'e', 'H', 'l', 'python', 'o'}
    >>> t.update('python')    #添加一个字符会拆成多个
    >>> t
    {'e', 'y', 'n', 'h', 't', 'p', 'o', 'python', 'H', 'l'}
    >>> t.remove('python')    #删除一个元素
    >>> t
    {'e', 'y', 'n', 'h', 't', 'p', 'o', 'H', 'l'}

    关系

    x in s  
    测试 x 是否是 s 的成员  
      
    x not in s  
    测试 x 是否不是 s 的成员  
      
    s.issubset(t)  
    s <= t  
    测试是否 s 中的每一个元素都在 t 中  
      
    s.issuperset(t)  
    s >= t  
    测试是否 t 中的每一个元素都在 s 中  
      
    s.union(t)  
    s | t  # t 和 s的并集  
    返回一个新的 set 包含 s 和 t 中的每一个元素  
      
    s.intersection(t)  
    s & t  # t 和 s的交集 
    返回一个新的 set 包含 s 和 t 中的公共元素  
      
    s.difference(t)  
    s - t  # 求差集(项在s中,但不在t中)
    返回一个新的 set 包含 s 中有但是 t 中没有的元素  
      
    s.symmetric_difference(t)  
    s ^ t  # 对称差集(项在t或s中,但不会同时出现在二者中)
    返回一个新的 set 包含 s 和 t 中不重复的元素  
  • 相关阅读:
    paste 合并文件
    split 分割文件
    cut 从文本中提取一段文字并输出
    tailf 跟踪日志文件
    tail 显示文件内容尾部
    给Linux系统新增加一块硬盘
    Centos7+httpd+fastcgi安装提示错误
    Redhat 7使用CentOS 7的Yum网络源
    windows7下cmd窗口使用ssh命令
    PHP set_error_handler() 函数
  • 原文地址:https://www.cnblogs.com/dcc001/p/5758111.html
Copyright © 2011-2022 走看看