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']
  • 相关阅读:
    html5对分辨率和设备的嗅探方法
    给前端苦手的同学们一点建议——前端之所以难学,可能的原因
    css3学习笔记
    关于viewport的一些问题
    js通过as完成socket通信
    【数学】数论常识
    AbstractFactory 模式
    State 模式
    Strategy 模式
    error LNK2001
  • 原文地址:https://www.cnblogs.com/liushuizs/p/10262520.html
Copyright © 2011-2022 走看看