• 从零开始的Python学习Episode 9——集合


    集合

    集合是一个无序的不重复的数据组合,是python基本的数据类型,把不同的元素组成一起就形成集合。

    一、创建集合

    s = set('smile')
    list = ['1','2','3']
    print(s) #{'i', 'm', 's', 'e', 'l'}
    s1 =set(list)
    print(s1) #{'1', '3', '2'}

    集合分两种:可变集合、不可变集合

    可变集合(set):可添加和删除元素,非可哈希的,不能用作字典的键,也不能做其他集合的元素。

    不可变集合(frozenset):与上面相反,我们也可以调用frozenset()方法来创建一个不可变集合。

    二、访问集合

    集合是无序的,而且没有键(key),所以不能用索引和键来访问集合中的元素,只能通过遍历来查询集合中的元素 或者 通过in、not in关键字来判断集合中是否存在某元素。

    三、更新集合

    add()方法,添加一个元素

    s = set('smile')
    s.add('pup')
    print(s)#{'i', 'pup', 'l', 'm', 'e', 's'}
    

    update()方法,添加多个元素

    s = set('smile')
    s.update('pup')
    print(s)#{'l', 'i', 'm', 's', 'e', 'p', 'u'}
    

    remove()方法,删除一个特定元素

    s = set('smile')
    s.remove('m')
    print(s)#{'s', 'e', 'l', 'i'}
    

    clear()方法,清空集合

    s = set('smile')
    s.clear()
    print(s)#set()空集合
    

      

    注意:只有可变集合才能更新。

    四、集合类型操作符

    并集:

    s = set('smile')
    s1 = set('smilepu')
    s2 = s1|s
    print(s2)#{'u', 'm', 's', 'e', 'l', 'i', 'p'}
    s2=s1.union(s)
    print(s2)#{'u', 'm', 's', 'e', 'l', 'i', 'p'}

    交集:

    s = set('smile')
    s1 = set('smilepu')
    s2 = s1&s
    print(s2)#{'i', 'm', 'l', 's', 'e'}
    s2=s1.intersection(s)
    print(s2)#{'i', 'm', 'l', 's', 'e'}
    

    差集:

    s = set('smile')
    s1 = set('smilepu')
    s2 = s1-s
    print(s2)#{'u', 'p'}
    s2=s1.difference(s)
    print(s2)#{'u', 'p'}
    

    对称差集(异或):选出不同的元素

    s = set('smile')
    s1 = set('smilepu')
    s2 = s1^s
    print(s2)#{'p', 'u'}
    s2=s1.symmetric_difference(s)
    print(s2)#{'p', 'u'}
    

    子集:用<、issubset()判断是否是子集

    s1={1,2,3,4}
    s2={3,4,5,6}
    s3={2,3,4}
    print(s2<s1)#False
    print(s3<s1)#True
    print(s3.issubset(s1))#True
    

    超集:>、issuperset()

    s1={1,2,3,4}
    s2={3,4,5,6}
    s3={2,3,4}
    print(s1>s2)#False
    print(s1>s3)#True
    print(s1.issuperset(s3))#True
    

      

  • 相关阅读:
    商城项目开发(一)
    java基础
    SpringBoot笔记
    设计模式-创建型模式
    讲真的 曾惜
    Linux常用精简命令实训练习
    使用ZeroClipboard.js复制内容到剪贴板上
    浅谈Jquery中的bind(),live(),delegate(),on()绑定事件方式
    jQuery mouseover与mouseenter,mouseout与mouseleave的区别
    div中的img垂直居中
  • 原文地址:https://www.cnblogs.com/smilepup-hhr/p/9715784.html
Copyright © 2020-2023  润新知