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 中不重复的元素  
  • 相关阅读:
    “人工智能”前景:只有人工,没有智能
    google scholar vs baidu scholar-what is your problem
    springSecurity使用
    springMVC中的HttpSession与Model
    mybatis关于Criteria的一点小坑。。。
    MyBatis的Mapper接口以及Example的实例函数及详解
    被springSecurity坑哭的一天
    Mybatis-Generator
    Redis五种数据类型应用场景
    springboot_自动配置原理
  • 原文地址:https://www.cnblogs.com/dcc001/p/5758111.html
Copyright © 2011-2022 走看看