• 集合操作


    集合是一个无序、无重复项的集合。

    1、创建集合

    list1 = [1,2,3,3,'a','b','b']

    list1 = set(list1)

    print(list1)  -> {1,2,3,b,a}这就是得到的无序的(每次打印位置可能都会有变动,元素是固定的)、无重复项的集合,用{}表示

    list2 = [1,3,'c','d','e']

    list2 = set(list2)

    print(list2) ->{1, 3, 'd', 'e', 'c'}

    二、集合功能

    1、交集:把两个集合的交集作为一个新的集合返回

    交集函数表示方法:intersection

    如:new_list = list1.intersection(list2)

      print(new_list) -> {1, 3}

    交集数学表示方法:&

      new_list = list1 & list2

        print(new_list) ->{1, 3}

    2、并集:把两个集合的并集作为一个新的集合返回

    并集函数表示方法:union

    如:new_list = list1.union(list2)

      print(new_list) -> {1, 2, 3, 'c', 'd', 'b', 'e', 'a'}

    并集数学表示方法:|

      new_list = list1 | list2

        print(new_list) ->{1, 2, 3, 'c', 'd', 'b', 'e', 'a'}

    3、差集:把两个集合的差集作为一个新的集合返回

    差集函数表示方法:difference

    如:new_list = list1.difference(list2)                     in list1 but not in list2

      print(new_list) -> {'a', 'b', 2}

    并集数学表示方法:减号(-)

      new_list = list1 - list2

        print(new_list) -> {'a', 'b', 2}

    4、对称差集:去除两个集合中共同的部分

    对称差集函数表示方法

    如:new_list = list1.symmetric_difference(list2)                    

      print(new_list) -> {2, 'b', 'a', 'c', 'e', 'd'}

    对称差集数学表示方法:减号(^)

      new_list = list1 ^ list2

        print(new_list) -> {2, 'b', 'a', 'c', 'e', 'd'}

    5、子集:判断一个集合是否是另一个集合的子集,返回bool

    子集函数表示方法issubet

    print({1,2,3}.subset({1,2,3,4}))  -> True

    print({1,2,3,5}.subset({1,2,3,4}))  -> False

    子集数学表示方法

    print({1,2,3} < {1,2,3,4})

    6、父集

    父集函数表示方法issuperset

    print({1,2,3,4}.issuperset({1,2,3}))  -> True

    print({1,2,3,4}.issuperset({1,2,3,5}))  -> False

    父集数学表示方法

    print({1,2,3,4} > {1,2,3}) -> True

    7、判断是否有交集

    isdisjoint:判断是否有交集,没有交集返回True

    用法:

    print({1,3,7}.isdisjoint({5,6,8})) -> True

    print({1,3,4}.isdisjoint({4,6,8})) -> False

     三、删除

    1、discard函数:如果是集合中的元素就删除这个元素,不是的话什么都不做

    list1 = {1,2,3,'b'}

    list1.discard('b')

    print(list1)  -> {1,2,3}

    2、remove函数:如果是集合中的元素就删除,不是的话会报错keyerror,方法如上。

    四、添加

    add:添加一个元素至集合中

    使用方法:

    list1 = {1,2,3,'b'}

    list1.add('a')

    print(list1) ->{1, 2, 3, 'b', 'a'}

    五、集合更新

    1、交集更新

    intersection_update:假设集合list1和list2,list1.intersection_update(list2),那就是把两个集合的交集更新到list1中,没有交集就返回一个空的集合,其中list2也可以以列表作为参数传入。

    如:

    list1 = {1,2,3,'b'}

    list2 = {1,3,4,'a'}

    list1.intersection_update(list2)

    print(list1) ->{1, 3}

    2、并集更新

    update:假设集合list1和list2,list1.update(list2),那就是把两个集合的并集更新到list1中(与把list2的元素更新到list1一致),其中list2也可以以列表作为参数传入。

    如:

    list1 = {1,2,3,'b'}

    list2 = {1,3,4,'a'}

    list1.update(list2)

    print(list1) -> {1, 2, 3, 4, 'b', 'a'}

    3、差集更新

    difference_update:假设集合list1和list2,list1.difference_update(list2),那就是把两个集合的差集更新到list1中,没有差集就不更新,其中list2也可以以列表作为参数传入。

    如:

    list1 = {1,2,3,'b'}

    list2 = {1,3,4,'a'}

    list1.difference_update(list2)

    print(list1) ->{2, 'b'}

    4、对称差集更新

    symmetric_difference_update:假设集合list1和list2,list1.symmetric_difference_update(list2),那就是把两个集合的对称差集更新到list1中,没有差集就不更新,其中list2也可以以列表作为参数传入。

    list1 = {1,2,3,'b'}

    list2 = {1,3,4,'a'}

    list1.symmetric_difference_update(list2)

    print(list1) ->{'b', 2, 4, 'a'}

  • 相关阅读:
    Java 环境搭建的一些问题
    DefaultHttpClient is deprecated 【Api 弃用]】
    Java良葛格 学习笔记《二》
    Java良葛格 学习笔记
    JAVA EE 运行环境配置(包含JAVA SE)
    AIR使用文件对象操作文件和目录
    As3.0 类的【枚举】
    Java&&As3.0 中的final 关键字
    字符串参数组合
    PHP 超级全局变量
  • 原文地址:https://www.cnblogs.com/zj-luxj/p/6830120.html
Copyright © 2020-2023  润新知