zoukankan      html  css  js  c++  java
  • 集合的其他内置方法

    交叉补集:先合并再减去共有的

    python_1 = ['lcg', 'szw', 'zjw']
    linux_1 = ['lcg', 'szw','liushui']
    p_s=set(python_1)
    l_s=set(linux_1)
    print(p_s,l_s)
    print(p_s.symmetric_difference(l_s))#求交叉补集集
    print(p_s^l_s)              #求交叉补集集

    输出

    {'lcg', 'zjw', 'szw'} {'lcg', 'szw', 'liushui'}
    {'zjw', 'liushui'}
    {'zjw', 'liushui'}

    判断是否有交集

    #判断是否有交集 有False 无True
    s1={1,2}
    s2={3,4}
    print(s1.isdisjoint(s2))

    输出

    True

    判断子父集关系

    #判断子集
    s1={1,2}
    s2={1,2,3,}
    print(s1.issubset(s2))#  s1是否是s2的子集
    print(s2.issubset(s1))#  s2是否是s1的子集
    print(s2.issuperset(s1))#判断s2是否是s1的父集

    输出

    True
    False
    True

    更新

    #更新
    s1={1,2}
    s2={1,2,3,}
    s1.update(s2)
    print(s1)#更新为s2,add是在后面添加一个值

    输出

    {1, 2, 3}

    定义一个不可变的集合

    #定义一个不可变的集合
    s=frozenset('hello')
    print(s)
    s.add

    报错

    AttributeError: 'frozenset' object has no attribute 'add'
    #定义一个不可变的集合
    s=frozenset('hello')
    print(s)
    s.pop

    报错

    AttributeError: 'frozenset' object has no attribute 'pop'
    列表与集合之间的转换
    # 列表与集合之间的转换
    names = ['alex', 'alex', 'wupeiqi']
    s = set(names)
    print(s)
    names = list(s)
    print(names)

    输出

    {'alex', 'wupeiqi'}
    ['alex', 'wupeiqi']
    # 列表与集合之间的转换
    names = ['alex', 'alex', 'wupeiqi']
    s = set(names)
    names = list(set(names))
    print(names)

    输出

    ['alex', 'wupeiqi']
  • 相关阅读:
    Linux合并iso
    Oracle中使用escape关键字实现like匹配特殊字符,以及&字符的转义
    hash算法-time33算法
    理解JMS规范中消息的传输模式和消息持久化
    Oracle启动
    Weblogic缓存
    shell
    Hibernate 延迟载入
    Android获取cpu使用率,剩余内存和硬盘容量
    TestNG的组測试和组中组測试
  • 原文地址:https://www.cnblogs.com/liushuizs/p/10262520.html
Copyright © 2011-2022 走看看