• 集合的使用


     优先级 : ()  not >and> or  从左至右依次计算。

    and  且  前后都是真的 

    or  或  有一个为真 就为真

    not 非  取反             同等优先条件下 从左至右依次运算  

    x  and   y  如果x为真  则值为y   否则为 x 

    ----------------------------------------------------------------------

    集合的使用

    集合是无序的,不重复的数据集合,他里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的,以下是集合最重要的两点:
    去重,把一个列表变成集合,就自动去重了
    关系测试,测试量组数据之间的交集、差集、并集等关系

    一、集合的创建

    set1 = set({1,2,'barry'})
    set1 = {'1','alex',2,True}
    set2 = {'1','alex',2,True,[1,2,3]}  # 报错
    set3 = {'1','alex',2,True,(1,2,[1,2,3])}  # 报错

    二、去重

    l = [1,1,2,2,3,4,5,5]
    set1 = set(l)
    print(set1)
    l = list(set1)
    print(l)

    三、集合的增

    复制代码
    # add
    set1 = {'alex','wusir','ritian','egon','barry'}
    set1.add('景女神')
    print(set1)
    
    # update迭代增加
    set1 = {'alex','wusir','ritian','egon','barry'}
    set1.update('A')
    print(set1)
    set1.update('老师')
    print(set1)
    set1.update([1,2,3])
    print(set1)
    复制代码

    四、集合的删

    复制代码
    set1 = {'alex','wusir','ritian','egon','barry'}
    set1.remove('alex')  # 删除一个元素
    print(set1)
    set1.pop()  # 随机删除一个元素,返回被删除的元素
    print(set1)
    set1.clear()  # 清空集合
    print(set1)
    del set1  # 删除集合
    print(set1)
    复制代码

    五、集合的查

    使用for循环查找

    六、集合的其它操作

    复制代码
    # 交集 & 或者 intersection
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1 & set2)  # {4, 5}
    print(set1.intersection(set2))  # {4, 5}
    
    #  并集 | 或者 union
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1 | set2)  # {1, 2, 3, 4, 5, 6, 7}
    print(set2.union(set1))  # {1, 2, 3, 4, 5, 6, 7}
    
    # 差集 - 或者 difference
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1 - set2)  # {1, 2, 3} set1独有的
    print(set1.difference(set2))  # {1, 2, 3}
    print(set2 - set1)  # {6,7,8}
    
    # 反交集 ^ 或者 symmetric_difference
    set1 = {1,2,3,4,5}
    set2 = {4,5,6,7,8}
    print(set1 ^ set2)  # {1, 2, 3, 6, 7, 8}
    print(set1.symmetric_difference(set2))  # {1, 2, 3, 6, 7, 8}
    
    # 子集与超集
    set1 = {1,2,3}
    set2 = {1,2,3,4,5,6}
    print(set1 < set2)
    print(set1.issubset(set2))  # 这两个相同,都是说明set1是set2子集。
    print(set2 > set1)
    print(set2.issuperset(set1))  # 这两个相同,都是说明set2是set1超集。
    
    # frozenset不可变集合
    s = frozenset('barry')
    print(s,type(s))
  • 相关阅读:
    Spring+JCaptcha验证码使用示例
    Hibernate-Session使用的背后
    DWR+Spring配置使用
    Spring+Quartz配置定时任务
    利用HtmlParser解析网页内容
    利用HttpClient4访问网页
    利用Common-Fileupload上传文件图片
    利用Common-BeanUtils封装请求参数
    浮点数的一点东西
    基数排序——浮点数结构体进阶
  • 原文地址:https://www.cnblogs.com/QQ279366/p/7699601.html
Copyright © 2020-2023  润新知