前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python3 集合

python3 集合

作者头像
py3study
发布2020-01-06 09:49:34
7540
发布2020-01-06 09:49:34
举报
文章被收录于专栏:python3python3
代码语言:javascript
复制
集合:
    数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称做集合元素。
    集合对象是一组无序排列的可哈希的值。
    集合有两种类型:
        1、可变集合set
        2、不可变集合frozenset

特点:
    1、值不可以重复

    创建可变集合set
    >>> s1 = set('hello')
    >>> s1
    {'h', 'l', 'o', 'e'}  #值不可以重复,所以两个L合并成一个L

    创建不可变集合frozenset
    >>> s2 = frozenset('hello')
    >>> s2
    frozenset({'h', 'l', 'o', 'e'})

    创建整体集合:
    >>> s3 = set(['hello', 'world'])
    >>> s3
    {'hello', 'world'}

集合类型操作符:
    集合支持用in和not in操作符检查chengy
    能够通过len()检查集合大小 
    能够使用for迭代集合成员
    不能取切边,没有键
    >>> s3 = set(['hello', 'world'])
    >>> s3
    {'hello', 'world'}
    >>> len(s3)
    2

    >>> for i in s3:     #迭代集合成员
    ...     print(i)
    ... 
    hello
    world

| :联合,取并集  #两个集合合并成一个,相同集合元素合并,可以用函数union表示
    >>> a | b
    {'e', 'b', 'c', 'a', 'd'}

    >>> a.union(b)
    {'e', 'b', 'c', 'a', 'd'}

& :交集       #两个集合中都有的元素‘C’,可以用函数intersection表示
    >>> a = set('abc')
    >>> b = set('cde')
    >>> a
    {'b', 'c', 'a'}
    >>> b
    {'e', 'c', 'd'}
    >>> a & b
    {'c'}

    >>> a.intersection(b)
    {'c'}

- :差补   #取差异,    可使用函数difference表示。
    >>> a - b    #b集合中没有a集合当中的那些元素,
    {'b', 'a'}

    >>> b - a    #a集合中没有b集合当中的参数是那些
    {'e', 'd'}

    >>> a.difference(b)
    {'b', 'a'}

集合内建方法:
    添加成员:
    set.add()   #当成一个整体进行添加
        >>> a.add('new')
        >>> a
        {'b', 'new', 'c', 'a'}

    批量添加成员:
    set.update() #拆分进行添加,添加多个可以使用s3的方式

        >>> a.update('new')
        >>> a
        {'w', 'e', 'b', 'n', 'new', 'c', 'a'}

            >>> s3 = set(['hello', 'world'])
            >>> s3
            {'hello', 'world'}

    删除成员:
    set.remove() #由于集合是无序的,无法取下标和key,只能指定删除项
        >>> a.remove('n')
        >>> a
        {'w', 'e', 'b', 'new', 'c', 'a'}

    子集、超集:
        a集合中包含b集合的元素,所以a集合是b集合的超集,b集合是a集合的子集
        被包含的是子集,包含别人的是超集
        >>> a = set('abcde')
        >> b = set('bcd')
        >>> a
        {'e', 'b', 'c', 'a', 'd'}
        >>> b
        {'b', 'c', 'd'}

    X.issuperset(XX)    #判断a集合是否为b集合的超集
    >>> a.issuperset(b)
    True

    >>> b.issubset(a)   #判断b集合是否为a集合的子集
    True

    集合本身是自己的超集和子集
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档