• 集合


    set 无序集合
    特点:没有索引, 里面的数据不会有重复
    很少使用来表示数据

    如果想让列表,元组中没有重复的元素可以把它们转换成set类型
    不能转字典类型,因为格式不一样
    set 格式:{元素1,元素2}

    集合:无序,不重复
    作用:1.>去重 2.> 关系测试<测试两组数据之间的交集,差集,并集,对称差集等关系>

    可变类型的集合的更新操作:
    add:添加元素
    update:更新,添加
    remove:删除集合中指定的元素
    del:删除集合本身,即把集合这个容器删除

    1.交集:

    a = {1, 2, 3, 4, 5, 6, 7}
    b = {11, 12, 13, 4, 15, 6, 7}
    
    print(a.intersection(b))  # 交集<二者均有的元素> {4, 6, 7}

    2.差集:

    a = {1, 2, 3, 4, 5, 6, 7}
    b = {11, 12, 13, 4, 15, 6, 7}
    print(a.difference(b))  # 差集<所有属于a且不属于b的元素构成的集合>

    3.并集:

    a = {1, 2, 3, 4, 5, 6, 7}
    b = {11, 12, 13, 4, 15, 6, 7}
    print(a.union(b))  # 并集<a和b中所有的元素> {1, 2, 3, 5, 11, 12, 13, 15}

    4.对称差集:

    a = {1, 2, 3, 4, 5, 6, 7}
    b = {11, 12, 13, 4, 15, 6, 7}
    print(a.symmetric_difference(b))  # 对称差集:也叫反向交集<并集 - 交集>   {1, 2, 3, 5, 11, 12, 13, 15}

    5.子集关系:

    A = {1, 2, 3}
    B = {1, 2}
    print(B.issubset(A))  # B是否是A的子集 

    6.父集关系:

    A = {1, 2, 3}
    B = {1, 2}
    # super:超,代表父一级,sub:代表子一级
    print(A.issuperset(B))  # A是否是B的超集(父集)

    7.符号表示 交、差、并、对称差:

    """符号表示:这种更常用"""
    
    A = {1, 2, 3}
    B = {1, 2, 4}
    
    print((A | B))  # 并集
    print((A & B))  # 交集
    print((A - B))  # 差集
    print((A ^ B))  # 对称差集  {3, 4}  就是  并集 - 交集

    8.可变集合与不可变集合:

    """
    可变集合和不可变集合:
    
    可变set:可以添加,删除元素,不可哈希的(因为是可变数据类型)
    
    不可变 frozenset :和元组一样,不可修改,删除.一旦定义创建之后就不能被修改
    
    """

    9.不使用集合进行列表去重:

    # 作业:在不影响列表中元素的位置情况下把列表中的数据进行去重
    list1 = [2,3,2]
    
    list2 = []  # 保存没有重复的元素
    # index:查找列表中元素对应的索引位置
    i = 0
    while i < len(list1):
        element = list1[i]  # 取出指定索引的元素
        index1 = list1.index(element)  # 取出元素在列表中第一次出现的索引
        if i == index1:  # i是从0开始的有序的,如果地址相等,就添加这个地址对应的元素
            list2.append(element)
        i += 1
    print(list2)
  • 相关阅读:
    RefreshParenwin 打开子窗体 并回发
    DataAdapter插入数据
    GridViewTotal
    滚动截图软件
    十个随机数排列(vb代码)
    SQL查询效率100w数据查询只要1秒
    ASP.NET操纵EXCEL导入SQL SERVER数据库的代码
    ajax blogs !good!
    轻松掌握Ajax.net系列教程
    asp.net 性能优化 Write less, do more...
  • 原文地址:https://www.cnblogs.com/huaibin/p/12096471.html
Copyright © 2020-2023  润新知