zoukankan      html  css  js  c++  java
  • 集合主要知识集锦

    集合:

    集合定义:可以包含多个元素,用逗号分割。

    集合的元素遵循三个原则:

             1.每个元素必须是不可变类型

              2.没有重复的元素

        3.它是无序的

    举例: 

    s={1,2,2,'eaaa',(1,2,3)}
    print(s,type(s))
    {1, 2, 'eaaa', (1, 2, 3)} <class 'set'>
    View Code

    显示出来的结果具有去重性,

    优先掌握:

    1.       in      not in

    pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
    print('egon'  in pythons)
    True
    View Code

    2.并集

    pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
    linuxs={'wupeiqi','oldboy','gangdan'}
    s=pythons | linuxs
    print(s)
    print(pythons.union(linuxs))
    {'yuanhao', 'wupeiqi', 'biubiu', 'egon', 'oldboy', 'gangdan', 'alex'}
    {'yuanhao', 'wupeiqi', 'biubiu', 'egon', 'oldboy', 'gangdan', 'alex'}
    View Code

    2.交集

    pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
    linuxs={'wupeiqi','oldboy','gangdan'}
    s=pythons & linuxs
    print(s)
    print(pythons.intersection(linuxs))
    print(linuxs.intersection(pythons))
    {'wupeiqi', 'gangdan'}
    {'wupeiqi', 'gangdan'}
    {'wupeiqi', 'gangdan'}
    View Code

    3差集.

    就是说只报名python,没有报名linux的学生

    pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
    linuxs={'wupeiqi','oldboy','gangdan'}
    print(pythons - linuxs)
    print(pythons.difference(linuxs))
    
    
    print(linuxs.difference(pythons))
    print(linuxs - pythons)
    {'alex', 'egon', 'yuanhao', 'biubiu'}
    {'alex', 'egon', 'yuanhao', 'biubiu'}
    {'oldboy'}
    {'oldboy'}
    View Code

    4.对称差集

    pythons={'alex','egon','yuanhao','wupeiqi','gangdan','biubiu'}
    linuxs={'wupeiqi','oldboy','gangdan'}
    print(pythons ^ linuxs)
    
    print(pythons.symmetric_difference(linuxs))
    print(linuxs.symmetric_difference(pythons))
    {'alex', 'egon', 'biubiu', 'oldboy', 'yuanhao'}
    {'alex', 'egon', 'biubiu', 'oldboy', 'yuanhao'}
    {'biubiu', 'yuanhao', 'alex', 'egon', 'oldboy'}
    View Code

    5.子集,父集

    set1={1,2,3,4,5}
    set2={1,2,3,4}
    print(set1 >= set2)
    print(set1.issuperset(set2))
    print(set2 <= set1)
    print(set2.issubset(set1))
    True
    True
    True
    True
    View Code

    掌握部分

    1、update()

    描述:扩展集合

    参数:要添加的集合

    返回值:None(原集合会被修改)

    举例

    s1 = {'william','lisa','knight','pudding'}
    s2 = {'sky'}
    s3 = s1.update(s2)  # 扩展集合s1
    print(type(s3),s3)  # 查看返回值
    print(type(s1),s1)  # 打印扩展后的集合s1
    <class 'NoneType'> None
    <class 'set'> {'knight', 'sky', 'pudding', 'lisa', 'william'}
    View Code

    2、copy()

    描述:复制集合

    参数:

    返回值:返回一个和原集合一样的新的集合

    1 s1 = {'william','lisa','knight','pudding'}
    2 s2 = s1.copy()  # 对集合s1进行复制
    3 print(type(s1),s1)
    4 print(type(s2),s2)
    <class 'set'> {'knight', 'pudding', 'william', 'lisa'}
    <class 'set'> {'knight', 'pudding', 'william', 'lisa'}
    View Code

    3、pop()

    描述:随机删除集合中的一个元素

    参数:

    返回值:返回被删除的元素

    1 s1 = {'william','lisa','knight','pudding'}
    2 s2 = s1.pop()    # 随机删除集合中的一个元素
    3 print(type(s1),s1) 
    4 print(type(s2),s2)
    <class 'set'> {'lisa', 'knight', 'william'}
    <class 'str'> pudding
    View Code

    4、clear()

    描述:清空字典

    参数:

    返回值:None(原集合会被修改)

    1 s1 = {'william','lisa','knight','pudding'}
    2 s2 = s1.clear()  # 清空集合
    3 print(type(s1),s1)
    4 print(type(s2),s2)
    <class 'set'> set()
    <class 'NoneType'> None
    View Code

    5、remove()

    描述:删除集合中指定的元素

    参数:element  元素

    返回值:None(原集合会被修改)

     

    s1 = {'william','lisa','knight','pudding'}
    s2 = s1.remove('lisa')
    print(type(s1),s1) 
    print(type(s2),s2)  # 返回值为空

    6、add()

    描述:为集合增加元素

    参数:element  元素

    返回值:None(原集合会被修改)

    1 s1 = {'william','lisa','knight','pudding'}
    2 s2 = s1.add('sky')
    3 print(type(s1),s1)
    4 print(type(s2),s2)  # 返回值为空
    <class 'set'> {'pudding', 'lisa', 'william', 'knight', 'sky'}
    <class 'NoneType'> None
    View Code

    7、discard()

    描述:删除集合中指定的元素

    参数:element  元素

    返回值:None(原集合会被修改)

    1 s1 = {'william','lisa','knight','pudding'}
    2 s2 = s1.discard('william')
    3 print(type(s2),s2)   
    4 print(type(s1),s1) 
    <class 'NoneType'> None
    <class 'set'> {'lisa', 'knight', 'pudding'}
    View Code

    7、difference()

     

    描述:差集运算,原集合不更新

    参数:set  要对比的集合

    返回值:得到一个差集

     

    s1 = {'william','lisa','knight','pudding'}
    s2 = {'sky','william','hello','knight'}
    s3 = s1.difference(s2)
    print(type(s3),s3)  # 得到一个差集。
    print(type(s1),s1)  # 原集合不更新
     
    <class 'NoneType'> None
    <class 'set'> {'pudding', 'lisa'}
    View Code
     
    <class 'set'> {'lisa', 'pudding'}
    <class 'set'> {'pudding', 'lisa', 'knight', 'william'}
    View Code

    8、difference_update

    描述:差集运算,原集合更新

    参数:set  要对比的集合

    返回值:None(原集合会被修改)

     

    s1 = {'william','lisa','knight','pudding'}
    s2 = {'sky','william','hello','knight'}
    s3 = s1.difference_update(s2)
    print(type(s3),s3)  # 返回None
    print(type(s1),s1)  # 原集被更新
     

    python3集合方法统计

     

    1、update()

    • 官方说明:
    View Code

    描述:扩展集合

    参数:要添加的集合

    返回值:None(原集合会被修改)

    • 示例:
    1
    2
    3
    4
    5
    s1 = {'william','lisa','knight','pudding'}
    s2 = {'sky'}
    s3 = s1.update(s2)  # 扩展集合s1
    print(type(s3),s3)  # 查看返回值
    print(type(s1),s1)  # 打印扩展后的集合s1

      输出结果:

    <class 'NoneType'> None
    <class 'set'> {'knight', 'sky', 'pudding', 'lisa', 'william'}

     

    2、copy()

    • 官方说明:
    View Code

    描述:复制集合

    参数:

    返回值:返回一个和原集合一样的新的集合

    • 示例:
    1
    2
    3
    4
    s1 = {'william','lisa','knight','pudding'}
    s2 = s1.copy()  # 对集合s1进行复制
    print(type(s1),s1)
    print(type(s2),s2)

      输出结果:

    View Code

     

    3、pop()

    • 官方说明:
    View Code

    描述:随机删除集合中的一个元素

    参数:

    返回值:返回被删除的元素

    • 示例:
    1
    2
    3
    4
    s1 = {'william','lisa','knight','pudding'}
    s2 = s1.pop()    # 随机删除集合中的一个元素
    print(type(s1),s1) 
    print(type(s2),s2)

      输出结果:

    View Code

     

    4、clear()

    • 官方说明:
    View Code

    描述:清空字典

    参数:

    返回值:None(原集合会被修改)

    示例:

    1
    2
    3
    4
    s1 = {'william','lisa','knight','pudding'}
    s2 = s1.clear()  # 清空集合
    print(type(s1),s1)
    print(type(s2),s2)

      输出结果:

    View Code

     

    5、remove()

    • 官方说明:
    View Code

    描述:删除集合中指定的元素

    参数:element  元素

    返回值:None(原集合会被修改)

    • 示例:
    1
    2
    3
    4
    s1 = {'william','lisa','knight','pudding'}
    s2 = s1.remove('lisa')
    print(type(s1),s1) 
    print(type(s2),s2)  # 返回值为空

      输出结果:

    View Code

     

    6、add()

    • 官方说明:
    View Code

    描述:为集合增加元素

    参数:element  元素

    返回值:None(原集合会被修改)

    • 示例:
    1
    2
    3
    4
    s1 = {'william','lisa','knight','pudding'}
    s2 = s1.add('sky')
    print(type(s1),s1)
    print(type(s2),s2)  # 返回值为空

      输出结果:

    View Code

     

    7、difference()

    • 官方说明:
    View Code

    描述:差集运算,原集合不更新

    参数:set  要对比的集合

    返回值:得到一个差集

    • 示例:
    1
    2
    3
    4
    5
    s1 = {'william','lisa','knight','pudding'}
    s2 = {'sky','william','hello','knight'}
    s3 = s1.difference(s2)
    print(type(s3),s3)  # 得到一个差集。
    print(type(s1),s1)  # 原集合不更新

      输出结果:

    View Code

     

    8、difference_update

    • 官方说明:
    View Code

    描述:差集运算,原集合更新

    参数:set  要对比的集合

    返回值:None(原集合会被修改)

    • 示例:
    1
    2
    3
    4
    5
    s1 = {'william','lisa','knight','pudding'}
    s2 = {'sky','william','hello','knight'}
    s3 = s1.difference_update(s2)
    print(type(s3),s3)  # 返回None
    print(type(s1),s1)  # 原集被更新

      输出结果:

    View Code

     

    9、discard()

    • 官方说明:
    View Code

    描述:删除集合中指定的元素

    参数:element  元素

    返回值:None(原集合会被修改)

    • 示例:
    1
    2
    3
    4
    s1 = {'william','lisa','knight','pudding'}
    s2 = s1.discard('william')
    print(type(s2),s2)   
    print(type(s1),s1) 

      输出结果:

    View Code

     

    10、intersection()

    • 官方说明:
    View Code

    描述:交集运算,原集合不更新

    参数:set  要对比的集合

    返回值:得到一个交集

    • 示例:
    1
    2
    3
    4
    5
    s1 = {'william','lisa','knight','pudding'}
    s2 = {'william','xxxx'}
    s3 = s1.intersection(s2)
    print(type(s3),s3)  # 得到一个交集
    print(type(s1),s1)  # 原集合不更新

      输出结果:

    View Code

     

    11、intersection_update()

    • 官方说明:
    View Code

    描述:交集运算,原集合更新

    参数:set  要对比的集合

    返回值:None(原集合会被修改)

    • 示例:
    1
    2
    3
    4
    5
    s1 = {'william','lisa','knight','pudding'}
    s2 = {'william','xxxx'}
    s3 = s1.intersection_update(s2)
    print(type(s3),s3)  # 返回None
    print(type(s1),s1)  # 原集合更新

      输出集合:

    View Code

     

    12、isdisjoint()

    • 官方说明:
    View Code

    描述:判断是否有交集,如果有交集则返回False,没有返回True

    参数:set  要对比的集合

    返回值:返回一个布尔值

    • 示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    s1 = {'william','lisa','knight','pudding'}
    s2 = {'xxxx','lisa'}
    s3 = s1.isdisjoint(s2)   # 有交集则返回False
    print(type(s3),s3)
    #--------------------------------------------
    s4 = {'william','lisa','knight','pudding'}
    s5 = {'xxxx','yyyyy','kkkkkk','uuuuuu'}
    s6 = s4.isdisjoint(s5)   # 没有交集则返回True
    print(type(s6),s6)

      输出结果:

    View Code

     

    13、issubset()

    • 官方说明:
    View Code

    描述:判断原集合是否是要对比的集合的子集,如果是则返回True,否则返回False

    参数:set  要对比的集合

    返回值:得到一个布尔值

    • 示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    s1 = {'william','pudding'}
    s2 = {'william','lisa','knight','pudding'}
    s3 = s1.issubset(s2)    # s1是否是s2的子集,所以返回True
    print(type(s3),s3)
    #--------------------------------------
    s4 = {'william','xxxxx'}
    s5 = {'william','lisa','knight','pudding'}
    s6 = s4.issubset(s5)    # s4不是s5的子集,所以返回False
    print(type(s6),s6)

      输出结果:

    View Code

     

    14、issuperset()

    • 官方说明:
    View Code

    描述:判断原集合是否是要对比的集合的超(父)集,如果是则返回True,否则返回False

    参数:set  要对比的集合

    返回值:得到一个布尔值

    • 示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    s1 = {'william','lisa','knight','pudding'}
    s2 = {'william','pudding'}
    s3 = s1.issuperset(s2)    # s1是s2的超(父)集,所以返回True
    print(type(s3),s3)
    #--------------------------------------
    s4 = {'william','xxxxx'}
    s5 = {'william','lisa','nnnnn','xxxx'}
    s6 = s4.issuperset(s5)    # s4不是s5的超(父)集,所以返回False
    print(type(s6),s6)

      输出结果:

    View Code

     

    15、symmetric_difference()

    • 官方说明:
    View Code

    描述:对称差集运算,原集合不更新

    参数:set  要对比的集合

    返回值:返回一个对称差集

    • 示例:
    1
    2
    3
    4
    5
    s1 = {'william','lisa','knight','pudding'}
    s2 = {'william','pudding','xxxxxx'}
    s3 = s1.symmetric_difference(s2)
    print(type(s3),s3)   # 得到一个对称差集
    print(type(s1),s1)   # 对称差集运算,原集合不更新

      输出结果:

    View Code

     

    16、symmetric_difference_update()

    • 官方说明:
    View Code

    描述:对称差集运算,原集合更新

    参数:set  要对比的集合

    返回值:None(原集合会被修改)

    • 示例:
    1
    2
    3
    4
    5
    s1 = {'william','lisa','knight','pudding'}
    s2 = {'william','pudding','xxxxxx'}
    s3 = s1.symmetric_difference_update(s2)
    print(type(s3),s3)   # 返回None
    print(type(s1),s1)   # 对称差集运算,原集合更新

      输出结果:

    View Code

     

    17、union()

    • 官方说明:
    View Code

    描述:并集运算,原集合不更新

    参数:set  要对比的集合

    返回值:得到一个新的集合,两个集合中都有的元素都合并成一个。

    • 示例:
    1
    2
    3
    4
    5
    s1 = {'william','lisa','knight','pudding'}
    s2 = {'william','pudding','xxxxxx'}
    s3 = s1.union(s2)
    print(type(s3),s3)   # 返回得到一个新的集合,两个集合中都有的元素都合并成一个。
    print(type(s1),s1)   # 并集运算,原集合不更新

      输出结果:

    View Code

     

    洋洋人生如戏一场,芸芸众生各属一角。此戏说长便长,论时百年;说长便短,稍纵即逝。生命沧海一粟,在万物中脆弱瞬间即逝为最,随风而来,随风为土,虽说百年,亦不过宇宙间流星划过夜空,一闪而过,无迹无痕,虽曾有闪烁,但即刻消失的无影无踪。无论此戏是悲是喜。 人生轻松无极限,生活快乐遂心愿,活的好过的开心,心态代表一个人的精神状态,只要有良好的心态,你才能每天保持饱满的心情。心态好,运气就好。精神打起来,好运自然来。记住做任何事情一定要有积极的心态,一旦失去他,就跳出去,要学会调整心态, 有良好的心态工作。 人生过的是心情,生活活的是心态,人生随其然,生活何其烦,累了就睡觉,醒了就微笑,走过一些路,才知道辛苦;登过一些山,才知道艰难;趟过一些河,才知道跋涉;跨过一些坎,才知道超越;经过一些事,才知道经验;阅过一些人,才知道历练;读过一些书,才知道财富。
  • 相关阅读:
    锁定键盘、鼠标 武胜
    Begin a forensics investigation with WinHex 武胜
    vc++ 访问php webService
    VC xml解析笔记
    关于php Soap一些错误。
    ZendStudio php WebService制作一:简单WebService Demo
    vc各种字符转换
    vc2008 访问C# WebService
    ZendStudio WSDL编辑器
    Nusoap复杂对象的的webService制作
  • 原文地址:https://www.cnblogs.com/liuchengdong/p/7218519.html
Copyright © 2011-2022 走看看