Python学习——集合

集合(set):确定的无序的一组数据就是集合。集合无特定的标识符号)

  特点:

  • 集合中的值不会重复(唯一)
  • 集合中的元素没有任何顺序
  • 集合中可以使用整数,浮点数,布尔值,复数,字符串,元组,冰冻集

集合的基本操作

  1.创建空集合

    varset =  set()     #创建一个空集合

  2.具有数据的集合

    varset = { ‘A’,‘B’,‘C’ }

  3.集合成员检测

    print(‘A’ in var)

集合推导式

  创建一个集合varset = { ‘A’,‘B’,‘C’ }

  1.基本的集合推导式

    print({'*' + i + '*' for i in varset})

  2.带有判断条件的集合推导式

    print({'*' + i + '*' for i in varset if i != 'A'})

  3.多循环集合推导式

    print({ c + str(s) for c in colors  for s in sizes})

集合函数

  创建一个列表

    var = set()

  1.add()向集合中添加元素

    var.add('A')

  2.pop()随机删除集合中的一个元素

    var.pop()

  3.remove()删除集合中的指定元素,弱元素不从在就会报错

    var.remove('A')

  4.discard()删除集合中指定的元素,若元素不存在时,啥都不做

    var.disvard('E')

  5.clear()清空集合

    var.clear()

  6.copy()复制集合

    new_var = var.copy()

 

集合处理

  假设定义俩个集合var1和var2

  1.difference()计算俩个集合的差集

    print(var1.difference(var2))     #输出var1集合和var2集合的交集

  2.different_update()  俩个集合的差集更新操作,将差集赋值给前一个集合

    var1.difference_update(var2)    ------> print(var1)

  3.union()集合的并集操作

    print(var1.union(var2))     #输出俩个集合的并集

  4.update()并集的跟新操作

    var1.update(var2)    #将俩个集合的并集更新至var1集合中

  5.intersection()计算俩个集合的交集

    print(var1.intersection(var2))

  6.intersection_update()更新并集操作

    var1.intersection_update(var2)    #将俩个集合的交集赋值给var1集合

集合判断操作

  1.issupperset()检测当前集合是否是另一个集合的超级

    print(var1.issupperset(var2))    #检测集合var1是否是var2集合的超级

  2.issubset()检测当前集合是否是另一个集合的子集

    print(var1.issubset(var2))     #检测集合var1是否是集合var2的子集

  3.isdisjoint()检测俩集合是否不存在交集

    print(var1.isdisjoint(var2))   

  4.symmetric_difference()   集合的对称差集

    print(var1.symmetric_difference(var2))

  5.symmetric_difference_update() 更新集合的对称差集

    var1.symmetric_difference_update(var2)

  

冰冻集合

定义:冰冻集合是一种特殊的集合类型,(集合是列表的话,冰冻集合就是列表)

1.创建空的冰冻的集合     ——> var = frozenset()

2.带有数据的冰冻集合   ——>var = frozenset(('A','B','C'))

3.成员检测  ——>print('A' in var)

4.遍历冰冻集合    ——>  for x in var:

5.集合推导式(结果无法得到冰冻集合,可得到集合,列表,元组,字典等)

    res  = {i  for  i  in  var}

集合函数

1.冰冻集合可以使用集合的函数,前提是不能修改集合本身,如copy()

2.集合的交集,并集,差集等都可以使用,前提是不能修改集合数据

注:冰冻集合和普通集合求并集会得到一个冰冻集合,普通集合和冰冻集合求并集会得到一个普通集合

#注:此文件解释权归自身拥有,若有疑问可邮件咨询:yuxiang000@foxmail.com

原文地址:https://www.cnblogs.com/yuxiang-qiwa/p/7819845.html