set_lst = [

  ('集合容器不可哈希',),

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  ('集合中的元素必须可哈希',),

  ('集合是无序的',),

  ('集合自动去重',),

  ('增',),

  ('删',),

  ('查',),

  ('集合运算',),

  ('练习',),

]

 

集合容器不可哈希

  >>>hash(set())

  TypeError: unhashable type: 'set'

集合中的元素必须可哈希

  >>>num_set = {1, 2, 3, [4]}

  TypeError: unhashable type: 'list'

集合是无序的

  >>>num_set = {1, 2, 3, 4}

  >>>num_set[0]

  TypeError: 'set' object does not support indexing

集合自动去重

  >>>num_set = {1, 1}

  >>>num_set

  {1}

  >>>num_set = {1, 2}

  >>>num_set.add(3)

  >>>num_set

  {1, 2, 3}

  >>>num_set.update([4, 5])

  >>>num_set

  {1, 2, 3, 4, 5}

  set.pop()理论上是移除并返回任意的集合元素

  集合是无序的,所以要删除某一元素时,用remove()方法会更好一些

  Python中的set Python 第1张

  (PS: Python 3.6.2)

  Python中的set Python 第2张

  >>>num_set = {1, 2, 3, 4, '5', 6}

  >>>num_set.pop()

  1

  >>>num_set.remove('5')

  >>>num_set

  {2, 3, 4, 6}

  >>>num_set.clear()

  >>>num_set

  set()

  >>>del num_set

  >>>num_set

  NameError: name 'num_set' is not defined

  >>>num_set = {1, 2}

  >>>for i in num_set:

  ...  i

  ...

  1

  2

集合运算

  >>>set_1 = {1, 2, 3, 4}

  >>>set_2 = {4, 5, 6, 7}

  交集

    >>>set_1 & set_2

    {4}

  并集

    >>>set_1 | set_2

    {1, 2, 3, 4, 5, 6, 7, 8}

  反交集

    >>>set_1 ^ set_2

    {1, 2, 3, 5, 6, 7, 8}

  差集

    >>>set_1 - set_2

    {1, 2, 3}

  子集与超集

    >>>set_1 < set_2

    False

    >>>set_1 > set_2

    False

 

练习

  运用集合的知识为列表去重

    >>>lst = [1, 1, 2, 2, 3, 4]

    >>>lst = list(set(lst))

    >>>lst

    [1, 2, 3, 4]

      

    

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄