• 55.基础语法-集合


    set集合

    • 用{}表示,其中的元素是“无序的”“不重复的”,重复的元素只会显示一个
    • 空集合必须用ser()创建

    创建

    j_c0 = {1, 2, 3, 4, 6}
    j_c1 = {i for i in j_c0}
    print(j_c1)
    j_c2 = {i for i in j_c0 if i % 2 == 0}
    print(j_c2)
    j_c3 = {i**2 for i in j_c0}
    print(j_c3)
    

    • .add(),.update()
      • .add()向原集合中添加单个新元素
      • .update()向原集合中添加一个可迭代的组合
    j_z0 = {1, 2, 3, 4, 5}
    j_z0.add(10)
    print(j_z0)
    print(id(j_z0))
    j_z0.update({13, 14})
    print(j_z0)
    print(id(j_z0))
    

    - .clear(),.remove(),.discard()
        - .remove() 删除单个元素时,如果元素不存在,会报错。
        - .discard() 删除单个元素时,如果元素不存在,不会报错
        - .pop() 随机删除一个元素,返回值是删除的元素
    

    集合间的操作

    交集:

    • .intersection() 返回新生成的集合
    • .intersection_update() 无返回值,在元集合上操作
    j_m0 = {1, 2, 3, 4}
    j_m1 = {3, 4, 5, 6}
    j_m2 = {3, 4, 5, 6}
    print(id(j_m0))
    print(id(j_m0.intersection(j_m1, j_m2)))
    print(j_m0.intersection(j_m1, j_m2))
    j_m0 = {1, 2, 3, 4}
    j_m1 = {3, 4, 5, 6}
    j_m2 = {3, 4, 5, 6}
    print(id(j_m0))
    j_m0.intersection_update(j_m1, j_m2)
    print(j_m0)
    print(id(j_m0))
    

    差集:

    • .difference() 返回新生成的集合
    • .difference_update() 无返回值,在元集合上操作
    • 可使用“-”操作
    j_m0 = {1, 2, 3, 4}
    j_m1 = {3, 4, 5, 6}
    print(j_m0 - j_m1)
    

    并集

    • .union 返回新生成的集合
    • 无_update函数,不能使用“+”操作
    j_m0 = {1, 2, 3, 4}
    j_m1 = {3, 4, 5, 6}
    print(id(j_m0))
    print(j_m0.union(j_m1))
    

    补集

    • .symmetric_difference() 返回新生成的集合
    • .symmetric_difference_update 无返回值,在元集合上操作

    冰冻集合

    • 不允许修改的集合
    j_m0 = {1, 2, 3, 4}
    print(j_m0)
    print(frozenset(j_m0))
    
    p = {1:"we", 2:45}
    print(str(p))
    
  • 相关阅读:
    [CF1469D] Ceil Divisions
    [CF632D] Longest Subsequence
    [CF1215E] Marbles
    [CF689D] Friends and Subsequences
    [CF707D] Persistent Bookcase
    [CF10D] LCIS
    [CF713C] Sonya and Problem Wihtout a Legend
    [CF1114E] Arithmetic Progression
    [CF1404B] Tree Tag
    [CF710E] Generate a String
  • 原文地址:https://www.cnblogs.com/TK-tank/p/12345456.html
Copyright © 2020-2023  润新知