第4章:介绍python对象类型/4.1 python的核心数据类型/4.7 集合

  • 集合概念

  1. 集合类似字典,也是用大括号括起来的{ }
  2. 元素之间用逗号隔开
  3. 元素在集合中是唯一的
  4. 集合元素允许修改和删除,但是元素本身的值不能修改
  5. 集合是没有顺序的,所以不能通过下标获取集合的某个元素
  • 集合创建

  1. >>> X = set(["abc","xyz","xxx"])  以列表形式创建集合,列表每个项都是元素

          

    >>> X

          

    {'xxx', 'abc', 'xyz'}

    >>> X = set("abc")   以字符串形式创建集合,单个字符都是元素

    >>> X

    {'a', 'b', 'c'}

    >>> X = set({1:"abc",2:"xyz",3:"xxx"}) 以字典形式创建集合,集合的KEY都是元素    

    >>> X

    {1, 2, 3}

  • 集合不能通过下标访问

  1. >>> X[0]   集合是没有顺序的,所以不能通过下标获取集合的某个元素

    Traceback (most recent call last):

      File "<pyshell#300>", line 1, in <module>

        X[0]

    TypeError: 'set' object does not support indexing

  • 集合追加元素和删除元素

  1. >>> X.add('a')

    >>> X

    {'a', 1, 2, 3}

    >>> X.remove(2)

    >>> X

    {'a', 1, 3}

    >>>

  • 集合交集

  1. >>> X

    {'a', 1, 3}

    >>> Y

    {'a', 'z', 'b', 'h'}

    >>> X &Y

    {'a'}

  • 集合并集

  1. >>> X

    {'a', 1, 3}

    >>> Y

    {'a', 'z', 'b', 'h'}

    >>> X | Y

    {'a', 1, 'z', 3, 'b', 'h'}

  • 集合差集

  1. >>> X

    {'a', 1, 3}

    >>> Y

    {'a', 'z', 'b', 'h'}

    >>> X - Y

    {1, 3}

    >>>

  • 集合for运算

  1. >>> for item in set('abc'):print(item *3)

    ccc

    aaa

    bbb

    >>>

  • 元素是否在集合中判断

  1. >>> S = set('abc')

    >>> 'a' in S

    True

    >>> 'e' in S

    False

    >>>

  • 两个集合是否互为父子集合判断

  1. >>> S = set({1,2,3})

    >>> S.issubset(range(0,5))  range(0,5)的范围是:0,1,2,3,4,5

    True

    >>>

    >>> S = set("123")

    >>> S.issubset(range(0,5))    字符1,2,3和数字1,2,3是不一样的

    False

  2. >>> S

    {('a', 'b', 'c'), 1, 2, 3}

    >>> ('a','b','c') in S   判断元组是否存在集合

    True

  3. >>> S

    {('a', 'b', 'c'), 1, 2, 3}

    >>> {1,2}  < S   用符号比较

    True

    >>> {1,2,3}  < S

    True

    >>> {1,2,3,4}  < S

    False

    >>>

  • 集合不能嵌入列表和字典

  1. >>> S

    {1, 2, 3}

    >>> S.add(['a','b','c'])

    Traceback (most recent call last):

      File "<pyshell#93>", line 1, in <module>

        S.add(['a','b','c'])

    TypeError: unhashable type: 'list'

  2. >>> S.add({1:'a',2:'b',3:'c'})

    Traceback (most recent call last):

      File "<pyshell#94>", line 1, in <module>

        S.add({1:'a',2:'b',3:'c'})

    TypeError: unhashable type: 'dict'

    >>>

  •  集合可以嵌入元组

  1. >>> S.add(('a','b','c'))

    >>> S

    {('a', 'b', 'c'), 1, 2, 3}

    >>>

  • 集合解析

  1. >>> {x for x in 'abcd'}

    {'d', 'c', 'a', 'b'}

    >>> {x**2 for x in [1,2,3,4]}

    {16, 1, 4, 9}

    >>> {x*4 for x in 'abcd'}

    {'aaaa', 'cccc', 'dddd', 'bbbb'}

    >>>

  • 集合帮助列表去重

  1. >>> L = [1,2,3,4,5,6,7,1,2,3,4]

    >>> L = list(set(L))

    >>> L

     [1, 2, 3, 4, 5, 6, 7]

    >>>

  • 元素存在一个集合但不存在另外集合

  1. >>> S

    {('a', 'b', 'c'), 1, 2, 3}

    >>> X = {1,2}

    >>> S^X    用操作符: ^

    {('a', 'b', 'c'), 3}

    >>>

》》》》》未完:易学笔记--python教程--入门就看这一篇就够了 》》》》》

猜你喜欢

转载自blog.csdn.net/u011830122/article/details/83689125