zoukankan      html  css  js  c++  java
  • 【python--集合】增删改 交集 差集 并集 反交集 子集和超集

    #
    dic = {}
    print(type(dic))
    se = {}
    print(type(se))
    se = set()
    print(type(se))
    #
    # # 创建空集合
    se = set()
    # se = set(iterable)
    # 直接创建    集合的元素是不可变的 ---- int str  tuple  bool
    se = {'nihao',999,(1,2,3,6)}
     # 集合本身是可变的  集合的元素是不可变的
     #  集合是无序的  自动去重
     #  列表转集合    自动去重
    
    #  集合的增 -----------------
    #     add
    se = {'nihao',999,(1,2,3,6)}
    se.add('女神')
    print(se)
    #  {(1, 2, 3, 6), '女神', 'nihao', 999}
    #     update
    se = {'nihao',999,(1,2,3,6)}
    se.update('S')
    print(se)
    #  {(1, 2, 3, 6), 'S', 'nihao', 999}
    
    # 集合的推导式
    se = { i for i in range(9) }
    print(se)
    #  {0, 1, 2, 3, 4, 5, 6, 7, 8}
    
    # 集合的删----------------
    #   remove    删除指定元素
    se = {'nihao',999,(1,2,3,6)}
    se.remove('nihao')
    print(se)
    #   {(1, 2, 3, 6), 999}
    #    pop   随即删除一个元素
    se = {'nihao',999,(1,2,3,6)}
    se.pop()   #   不能传参数
    print(se)
    #    clear    清空集合
    # se = {'nihao',999,(1,2,3,6)}
    # se.clear()
    # print(se)
    #   set()
    #     del    删除集合
    # se = {'nihao',999,(1,2,3,6)}
    # del se
    # print(se)
    # NameError: name 'se' is not defined
    
    
    #   集合的交集    获取 两个或多个集合的 交集  相同值
    #   &  或 intersection
    se1 = {1,2,3,6,5}
    se2 = {9,88,65,5,65}
    print(se1 & se2)     #  {5}
    print(se1.intersection(se2))   #  {5}
    
    #   集合的并集   两个 或多个 集合 并和在一起
    #  |  或  union
    se1 = {1,2,3,6,5}
    se2 = {9,88,65,5,65}
    print(se1|se2)      #   {1, 2, 3, 65, 5, 6, 9, 88}
    print(se1.union(se2))   #  {1, 2, 3, 65, 5, 6, 9, 88}
    
    #   集合的差集
    #   -  或 differrence
    se1 = {1,2,3,6,5}
    se2 = {9,88,65,5,65}
    print(se1-se2)    # {1, 2, 3, 6}
    print(se1.difference(se2))   # {1, 2, 3, 6}
    
    #   集合的反交集       获取  去掉交集的两个集合的并集
    #   ^ 或者 symmetric_difference
    se1 = {1,2,3,6,5}
    se2 = {9,88,65,5,65}
    print(se1^se2)    #  {65, 1, 2, 3, 6, 9, 88}
    print(se1.symmetric_difference(se2))   # {65, 1, 2, 3, 6, 9, 88}
    
    #   集合的子集和超集
    set1 = {1,2,3}
    set2 = {1,2,3,4,5,6}
    
    print(set1 < set2)    # Ture
    print(set1.issubset(set2))  # Ture   # 这两个相同,都是说明set1是set2子集。
    
    print(set2 > set1)    # Ture
    print(set2.issuperset(set1))  # Ture  # 这两个相同,都是说明set2是set1超集。
    
    # frozenset 不可变集合 让集合变成不可变类型
    s = frozenset('barry')
    print(s,type(s))   # frozenset({'a', 'y', 'b', 'r'}) <class 'frozenset'>
  • 相关阅读:
    cs61b project1
    CS61b lab5
    leetcode DP
    Leetcode 还未解决的bug
    Git使用总结
    Mac TensorFlow Anaconda
    eclipse C++ ld: 1 duplicate symbol for architecture x86_64
    Leetcode Hashtable 1-5
    EC 601 PYTHONPATH
    EC 601 OpenCV Install
  • 原文地址:https://www.cnblogs.com/lxcai213/p/13330150.html
Copyright © 2011-2022 走看看