zoukankan      html  css  js  c++  java
  • Python学习笔记:set集合类型所有方法汇总

    #################################################
    # 集合的作用是:
    # 1、获得两个集合之间某种关系的集合(比如求两个集合的交集)
    # 2、计算集合之间的关系(比如判断是否交集)

    红色为常用重点方法
    #################################################
    
    





    ####### 列表转集合,去重 #######
    list_1 = set([1,2,3,4,5,6,7,2,3])
    list_2 = set([2,3,5,10])

    ####### 取得交集 #######

    print("交集",list_1.intersection(list_2))
    print("交集",list_1 & list_2)

    ####### 取得并集(加集) #######
    print("合集",list_1.union(list_2))
    print("合集",list_1 | list_2)


    ####### 取得差集(集合1里面有,集合2里面没有的) #######
    print("差集",list_1.difference(list_2))
    print("差集",list_1 - list_2)

    ####### 取得对称差集(两个集合中都没有的返回) #######
    print("对称差集",list_1.symmetric_difference(list_2))
    print("对称差集",list_1 ^ list_2)


    ####### 是不是子集 #######
    list_2 = [7,2,3]
    list_2 = set(list_2)
    print("判断是不是子集",list_2.issubset(list_1))


    ####### 是不是父集 #######
    list_1 = set([7,2,3,1,2,3])
    list_2 =set( [7,2,3])
    print("判断是不是父集",list_1.issuperset(list_2))



    ####### 判断是不是有交集,没有交集返回false #######
    list_1 = set([7,2,3,1,2,3])
    list_2 =set( [7,2,3])
    print("判断是不是有交集",list_1.isdisjoint(list_2))

    ######################## 以下是增、删、改、查的操作 ##############################

    ####### 增 #######
    list_1 = set([1,2,3,4,5,6])
    list_1.add("111")
    print("增一个项",list_1)
    list_1.update([100,6,300])
    print("增多个项,已经有的将不插入",list_1)
    # list_1.copy() # 浅复制

    ####### 删 #######
    list_1 = set([1,2,3,4,5,6])
    list_1.remove(1) #删除某个成员,如果不是成员会报错
    print("删除某个成员,如果不是成员会报错",list_1)
    list_1.pop()
    print("删除随机一个项",list_1)
    #删除某个成员,如果不是成员不会报错,无论成功与否都返回None
    print("删除某个成员,如果不是成员不会报错",list_1.discard(3))

    ####### 改 #######

    # 从a中删除b中的所有元素后返回给a
    list_1 = set([1,2,3,4,5,6])
    list_2 = set([1,2])
    list_1.difference_update(list_2)
    print("从a中删除b中的所有元素",list_1)

    # 用a和b的交集更新a
    list_1 = set([1,2,3,4,5,6])
    list_2 = set([1,2,100])
    list_2.intersection_update(list_1)
    print("用a和b的交集更新a",list_2)

    # 用a和b的对称集更新a
    list_1 = set([1,2,3,4,5,6])
    list_2 = set([1,2,100])
    list_1.symmetric_difference_update(list_2)
    print("用a和b的对称集更新a",list_1)



    ####### 查 #######
    list_1 = set([1,2,3,4,5,6])
    print("集合的元素数量", len(list_1))
    i = 1
    print("测试x是否是y的成员", i in list_1)
    i = 100
    print("测试x是否不是y的成员", i not in list_1)



  • 相关阅读:
    一、业务场景-随机生成患者姓名
    十一、python的高级语法与用法
    全排列小结
    LeetCode——150. Evaluate Reverse Polish Notation
    斐波那契数列算法小结
    LeetCode——14. Longest Common Prefix
    LeetCode——13. Roman to Integer
    LeetCode——12. Integer to Roman
    LeetCode——11. Container With Most Water
    LeetCode——10. Regular Expression Matching
  • 原文地址:https://www.cnblogs.com/tangwei-fuzhou/p/12636598.html
Copyright © 2011-2022 走看看