Python中的set

set_lst = [

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

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

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

  ('增',),

  ('删',),

  ('查',),

  ('集合运算',),

  ('练习',),

]

集合容器不可哈希

  >>>hash(set())

  TypeError: unhashable type: 'set'

集合中的元素可哈希

  >>>hash(list({1, 2})[0])

  1

集合自动去重

  >>>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()理论上是随机移除集合中的某一元素,但我在解释器里试了4次,都是移除了集合中的第一个元素(PS: Python 3.6.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]

      

    

猜你喜欢

转载自www.cnblogs.com/HopenZhang/p/9975348.html
今日推荐