zoukankan      html  css  js  c++  java
  • 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))
    
  • 相关阅读:
    ASP.NET 2.0 正式版中无刷新页面的开发
    Flex在线录制视频并回放(源码)
    url重写
    在Web应用程序中执行计划任务
    添加类别和修改类别(无限级别分类)
    用C#制作新闻阅读器
    字符串处理
    编程珠玑随笔
    实现元素的全排列
    提高代码质量的三要素
  • 原文地址:https://www.cnblogs.com/TK-tank/p/12345456.html
Copyright © 2011-2022 走看看