zoukankan      html  css  js  c++  java
  • 集合操作

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

      .去重,把一个列表变成集合,就自动去重了

      .关系测试,测试两组数据之前的交集,差集,并集等关系

    常用操作

    ###去重
    #首先创建一个列表
    list_l = [1,2,3,3,4,5,8,6,5,6,9]
    #然后把列表转成集合set()
    list_l = set(list_l)
    
    print(list_l,type(list_L))
    ##交集 intersection()取出相同的元素
    ##集合运算符 & list_1 & list_2
    list_l = [1,1,1,1,2,24,5,6,7,4,6] list_2 = [1,1,1,1,23,24,56,6,7,45,56] list_l = set(list_l) list_2 = set(list_2) list_3 = list_l.intersection(list_2) print(list_3)
    #并集 union()  就是两个合并在一起,并且去掉重复的

    ##集合运算符 | list_1 | list_2
    list_1 = [1,2,3,4,5,6,7,8,9,8] list_2 = [1,2,3,4,5,6,44,33,32,2,2,2] list_1 = set(list_1) list_2 = set(list_2) list = list_1.union(list_2) print(list)
    ####差集list_1.difference(list_2) 就是list_1有的list_2没有的
    ##集合运算符 - list_1 - list_2
    list_1 = [1,2,3,4,5,6,7,8] list_2 = [1,10,20,3,4,50] list_1 = set(list_1) list_2 = set(list_2) list = list_1.difference(list_2) print(list)
    ##子集issubset 父集issuperset 不是全部包含就还是返回False
    
    list_1 = set([1,3,5,7,9])
    list_2 = set([2,4,6,8])
    lsit_3 = set([2,4,6])
    ##list_1是list_2的子集吗?
    print(list_1.issubset(list_2))###返回false
    ##list_1是list_2的父集吗?
    print(list_1.issuperset(list_2))###返回false
    ##list_1是list_2的子集吗?
    print(list_3.issubset(lsit_2))###True
    ##list_1是list_2的父集吗?
    print(lsit_2.issuperset(list_3))##True
    ###对称集合,在一项中,但不会同时出现在两者里面
    print(list ^ list2)
    ##判断有没有交集,如果有就返回False,没有集返回True
    list_1.isdisjoint(list_2)

    在列表中的常用操作

    ###添加   括号中是你要添加的内容
    list_1.add(55)

    ##添加多项 update()
    list_1.update([222,444,5,66])
    ##set的长度
    len(list_1)
    ##使用remove()可以删除一项,如果不存在就报错
    list_1.remove("5")
    ##使用discard()可以删除一项,如果不存在返回None,存在就删除
    list_1.discard(888)
    ##测试x是否是s的成员
    x in s
    #测试x是否不是s的成员
    x not in s 
    ##测试是否s中的每一个元素都在t中
    s.issubset(t)
    s<=t
    #删除第一个并返回被删除的元素
    print(list_1.pop())
    以上内容作为课堂笔记,如有雷同,请联系于我
  • 相关阅读:
    PowerShell里的数组
    题解 cf gym 103261 D FFT Algorithm
    欧拉筛求积性函数的一般形式
    题解 LOJ 6053
    题解 SP34112 UDIVSUM
    题解 luogu P5162 WD与积木
    Java 关闭流同步输入输出
    题解 luogu P6620 [省选联考 2020 A 卷] 组合数问题
    hdu 6588 题解
    题解 cf gym 102979 E Expected Distance
  • 原文地址:https://www.cnblogs.com/ArtisticMonk/p/8916297.html
Copyright © 2011-2022 走看看