zoukankan      html  css  js  c++  java
  • Python之集合

    一、概念

    定义一个空的集合:

    jihe=set()    #定义一个空的集合
    • 集合也是一种数据类型,跟int  float list str dict tuple boolean一样。
    • 集合,天生可以去重
    l=[1,1,2,2,3,3]
    res=set(l)
    print(res) #结果为:{1,2,3}
    • 集合是无序的,跟字典一样,不能通过下标取值,也不能排序,如果想要排序,可以转成列表:
    l=list(res)

    二、取集合的方式

    xingneng=['tanailing','杨帆','liurongxin','小黑']
    zdh=['tanailing','杨帆','liurongxin','小军','海龙']
    
    #类型转换,列表转成集合:
    xingneng=set(xingneng)
    zdh=set(zdh)

    1、取交集

    方式一:     .intersection()方法;

    方式二:      一个 & 符。

    res=xingneng.intersection(zdh)  #取交集  方式一
    res=xingneng & zdh              #取交集  方式二
    print(res)

    2、取并集

    即:把2个集合合并到一起,然后去重。
    方式一:    .union()方法;

    方式二:     一个 | 符。

    res=xingneng.union(zdh) #取并集的方式一
    res=xingneng | zdh     #取并集的方式二

    3、取差集

    集合A的差集=集合A - 集合A∩集合B

    方式一:   .difference()方法;

    方式二: 一个 - 符。

    res=xingneng.difference(zdh) #取差集的方式一
    res=xingneng - zdh          #取差集的方式二

    4、取对称差集

    即:取两个集合里面不重复的值。

    方式一:  .symmetric_difference()方法;

    方式二:   一个^符。

    res=xingneng.symmetric_difference(zdh) #取对称差集的方式一
    res=xingneng ^ zdh              #取对称差集的方式二

    三、集合的判断方式

    • 子集与父集

    import string #导入字符串模块
    l1=set(string.ascii_lowercase) #取所有小写字母,并存成集合
    l2={'a','b','c'}

    可以看到,l2是l1的子集,l1是l2的父集。

    1、判断A是否是B的子集

    使用A.issubset(B)方法:

    print(l2.issubset(l1) #结果:True

    2、判断A是否是B的子集

    使用A.issuperset(B)方法:

    print(l1.issuperset(l2) #结果为True

    3、判断A与B是否无交集

    使用.isdisjoint()方法:

    print(l1.isdisjoint(l2) #结果:False

    四、集合的使用方式

    1、集合中加元素

    使用.add()方法:

    l2.add('s')

    2、集合中删除指定元素

    使用.remove()方法:

    l2.remove('a')

    3、集合中随机删除元素

    使用.pop()方法:

    l2.pop()

    4、循环

    集合也可以循环:

    for l in l1:
        print(l)
  • 相关阅读:
    冲刺阶段个人博客9
    冲刺阶段个人博客8
    梦断代码阅读笔记02
    我关于搜狗输入法的用户体验描述
    冲刺阶段个人博客07
    冲刺阶段个人博客06
    冲刺阶段个人博客05
    冲刺阶段个人博客04
    BZOJ 2006 超级钢琴(堆+主席树)
    BZOJ 1924 所驼门王的宝藏(强连通分量缩点+DAG最长链)
  • 原文地址:https://www.cnblogs.com/yanwuliu/p/9649469.html
Copyright © 2011-2022 走看看