zoukankan      html  css  js  c++  java
  • 集合

    定义:

    在{}内用逗号分隔开多个元素,多个元素满足以下三个条件

    1.集合内元素必须为不可变类型

    2.集合内元素无序

    3‘集合内元素没有重复

    s={1,2} 
    
    s={1,[1,2]} 
    print(s)  #会报错,集合内元素必须为不可变类型
    
    s={1,'a','z','b',4,7} # 集合内元素无序
    s={1,1,1,1,1,1,'a','b'} # 集合内元素没有重复
    print(s)
    >>>
    {1,'a','b'}
    
    # s={} # 默认是空字典
    # print(type(s))
    # 定义空集合
    # s=set()
    # print(s,type(s))
    

    s={} # 默认是空字典

    定义空集合

    s=set() #调用set功能

    print(s)

    s={} #此时才是空集合

    类型转换

    a=set([1,2,3])  #列表也可以转换
    print(a)
    >>>
    {1,2,3}
    res=set('hellolllll')    #集合会把多余重复的自动清除
    print(res)
    >>>
    {'h', 'o', 'e', 'l'}   #集合是无序的
    

    关系运算符

    取交集: 符号: $

    两个集合共同拥有的元素

    a = {"zero","kevin","jason","egon"}
    b = {"Jy","ricky","jason","egon"}
    res=a & b  #集合内没有顺序,a在前或者在后没有影响
    print(res)
    >>>
    {'egon', 'jason'}
    
    intersection   #跟符号$一个意思
    print(a.intersection(b))
    >>>
    {'egon', 'jason'}
    

    取并集或者叫取合集: 符号:|

    去掉重复的,两个集合所有的元素合并到一起,

    a = {"zero","kevin","jason","egon"}
    b = {"Jy","ricky","jason","egon"}
    print(a | b)    #集合内没有顺序,a在前或者在后没有影响
    >>>
    {'kevin', 'jason', 'egon', 'zero', 'ricky', 'Jy'}
    
    union    #跟符号|一个意思
    print(a.union(b))
    >>>
    {'kevin', 'jason', 'egon', 'zero', 'ricky', 'Jy'}
    

    取差集:

    两个集合独有的元素

    a = {"zero","kevin","jason","egon"}
    b = {"Jy","ricky","jason","egon"}
    print(a - b)   ##求的是a的独有元素,此时有顺序了,谁在前面就是求谁独有的元素
    >>>
    {'zero','kevin'}
    
    print(b - a)    ##求的是b的独有元素,此时有顺序了,谁在前面就是求谁独有的元素
    >>>
    {'ty','rick'}
    
    difference():跟上面的意思一样
    print(a.difference(b))
    >>>
    {'ty','rick'}
    

    对称差集: 符号:^

    把两个集合独有的元素合并到一起(即去掉共有的元素)

    a = {"zero","kevin","jason","egon"}
    b = {"Jy","ricky","jason","egon"}
    print(a ^ b)
    >>>
    {'kevin', 'ricky', 'zero', 'Jy'}
    
    symmetric_difference:意思跟上面一样
    print(a.symmetric_difference(b))
    >>>
    {'kevin', 'ricky', 'zero', 'Jy'}
    

    父子集

    包含的关系

    s1 = {1,2,3}
    s2 = {1,2,4}
    print(s1 > s2)   #不存在包含关系,进行比较均为Fales
    s1 = {1,2,3}
    s2 = {1,2,}
    print(s1 >= s2)  #当s1大于等于s2时,才能说是s1是s2他“爹”
    >>>
    True
    s1 = {1,2,}
    s2 = {1,2,}
    print(s1 == s2)  #s1与s2互为父子
    >>>
    True
    
  • 相关阅读:
    Dump 文件生成与分析
    打造支持apk下载和html5缓存的 IIS(配合一个超简单的android APP使用)具体解释
    GridView编辑删除操作
    google域名邮箱申请 gmail域名邮箱申请(企业应用套件)指南
    nvl,空时的推断和取值
    如何将图片保存至自定义分组
    Java实现 蓝桥杯VIP 算法训练 集合运算
    Java实现 蓝桥杯VIP 算法训练 瓷砖铺放
    Java实现 蓝桥杯VIP 算法训练 瓷砖铺放
    Java实现 蓝桥杯VIP 算法训练 集合运算
  • 原文地址:https://www.cnblogs.com/hm666/p/12499166.html
Copyright © 2011-2022 走看看