zoukankan      html  css  js  c++  java
  • 集合的使用

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

    • 去重,把一个列表变成集合,就自动去重了
    • 关系测试,测试两组数据之前的交集、差集、并集等关系
    list1=[1,2,5,6]
    list1=set[list1] 变成集合
     
    list2=set([5,6,86,9,97,65]) 集合
     
    list1.intersection(list2) 交集,求共同的值(集合不分前后)
    list1 & list2
     
     list1.union(list2) 并集,所有值合并一起,去掉重复的保留一个(集合不分前后)
    list1 | list2
     
    list1.difference(list2) 差集。list1有的值,list2没有的
    list1-list2
     
    list1.issubset(list2) 子集,list1的值,都在list2中
    list1.issuperset(list2) 父集,list1是父,list2是子。list2的值都在list1父集中
    list1.symmetric_difference(list2) 对称差集。两个列表集合中都没有的取出来,放在一起(集合不分前后)
    list1 ^ list2
     
    list1.isdisjoint(list2) list1与list2没有交集为true,有交集为false
     
    list1.add(99) 添加值
    list1.update([5,6,8,89]) 多项添加
    list1.remove('m') 删除集合中m值.值不存在会报错
    list1.pop() 随机删除一个,并打印一次
    list1.discard(m) 删除集合中m值.值不存在不会报错,提示none
     
    s = set([3,5,9,10])      #创建一个数值集合  
      
    t = set("Hello")         #创建一个唯一字符的集合  
    
    
    a = t | s          # t 和 s的并集  
      
    b = t & s          # t 和 s的交集  
      
    c = t – s          # 求差集(项在t中,但不在s中)  
      
    d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)  
      
       
      
    基本操作:  
      
    t.add('x')            # 添加一项  
      
    s.update([10,37,42])  # 在s中添加多项  
      
       
      
    使用remove()可以删除一项:  
      
    t.remove('H')  
      
      
    len(s)  
    set 的长度  
      
    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  
    返回一个新的 set 包含 s 和 t 中的每一个元素  
      
    s.intersection(t)  
    s & t  
    返回一个新的 set 包含 s 和 t 中的公共元素  
      
    s.difference(t)  
    s - t  
    返回一个新的 set 包含 s 中有但是 t 中没有的元素  
      
    s.symmetric_difference(t)  
    s ^ t  
    返回一个新的 set 包含 s 和 t 中不重复的元素  
      
    s.copy()  
    返回 set “s”的一个浅复制
    View Code
  • 相关阅读:
    小学生二元四则运算(F)
    补进度条
    附加作业
    个人总结
    第四 五周结对作业(照片)
    第四,五周——Java编写的电梯模拟系统(结对作业)
    第三周(JAVA编写的 wordcount)
    第三周续(读代码)
    第三周
    第二周续.(代码)
  • 原文地址:https://www.cnblogs.com/xuepython/p/6625952.html
Copyright © 2011-2022 走看看