Python-----------集合

    科技2022-09-02  93

    1、集合的创建

     

    2、集合的相关操作

    s={10,20,30,439} '''集合元素的判断操作''' print(10 in s) print(100 in s) print(10 not in s) print(100 not in s) '''集合元素的新增操作''' s.add(80) #add()一次添加一个元素 print(s) s.update({200,300}) #update()一次至少添加一个元素 print(s) s.update([100,99,98]) s.update((78,64,56)) print(s) '''集合元素的删除操作''' s.remove(100) print(s) s.discard(99) print(s) s.pop() print(s) True False False True {10, 80, 20, 439, 30} {200, 10, 300, 80, 20, 439, 30} {64, 98, 99, 100, 200, 10, 300, 78, 80, 20, 439, 56, 30} {64, 98, 99, 200, 10, 300, 78, 80, 20, 439, 56, 30} {64, 98, 200, 10, 300, 78, 80, 20, 439, 56, 30} {98, 200, 10, 300, 78, 80, 20, 439, 56, 30}

    4、集合间的关系

    '''两个集合是否相等(元素相等,就相等)''' s={10,20,30,40} s2={30,40,20,10} print(s==s2) print(s!=s2) '''一个集合是否是另一个集合的子集''' s1={10,20,30,40,50,60} s2={10,20,30,40} s3={10,20,90} print(s2.issubset(s1)) print(s3.issubset(s1)) '''一个集合是另一个集合的超集''' print(s1.issuperset(s2)) print(s1.issuperset(s3)) '''两个集合是否含有交集''' print(s2.isdisjoint(s3)) #有交集为False s4={100,200,300} print(s2.isdisjoint(s4)) #没有交集为True True False True False True False False True

     

    5、集合的数学操作

     

    #交集 s1={10,20,30,40} s2={20,30,40,50,60} print(s1.intersection(s2)) print(s1 & s2) #intersectiom()与 & 等价 #并集操作 print(s1.union(s2)) print(s1|s2) #union()与 | 等价 #差集操作 print(s1.difference(s2)) print(s1-s2) #对称差集 print(s1.symmetric_difference(s2)) print(s1^ s2) {40, 20, 30} {40, 20, 30} {40, 10, 50, 20, 60, 30} {40, 10, 50, 20, 60, 30} {10} {10} {50, 10, 60} {50, 10, 60}

     

    6、集合生成式

    #列表生成式 lst=[i*i for i in range(10)] print(lst) #集合生成式 s={i*i for i in range(10)} print(s) [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] {0, 1, 64, 4, 36, 9, 16, 49, 81, 25}

     

    Processed: 0.009, SQL: 10