python学习笔记整理----集合 set

集合

  集合的是可变的容器
  集合内的数据对象都是唯一的(不能重复多次的)
  集合是无序的存储结构,集合中的数据没有先后关系
  集合内的元素必须是不可变对象
  集合是可迭代对象
  集合是相当于只有键没有值的字典(键则是集合的数据) 


集合的构造函数 set

   set()  创建一个空的集合对象(不能用{}创建空集合)
  set(iterable)  用可迭代对象创建一个新的集合对象

 集合的运算:

交集,并集,补集,子集,超集

& 生成两个集合的交集
  s1 = {1, 2, 3}
  s2 = {2, 3, 4}
  s3 = s1 & s2                # s3 = {2, 3}

|  生成两个集合的并集
  s1 = {1, 2, 3}
  s2 = {2, 3, 4}
  s3 = s1 | s2                          # s3 = {1, 2, 3, 4}

-  生成两个集合的补集 
  s1 = {1, 2, 3}
  s2 = {2, 3, 4}
  s3 = s1 - s2                          # 生成属于s1但不属于s2的所有元 素的集合

^ 生成两个集合的对称补集
  s1 = {1, 2, 3}
  s2 = {2, 3, 4}
  s3 = s1 ^ s2                           # (s1 - s2) | (s2 - s1)
                                                # {1, 4}

> 判断一个集合是另一个集合的超集
< 判断一个集合是另一个集合的子集
  s1 = {1, 2, 3}
  s2 = {2, 3}
  s1 > s2                           # True  s1 为 s2的超集
  s1 < s2                           # False  s2 为 s1的子集

== != 集合相同/不同  
  s1 = {1, 2, 3}
  s2 = {3, 2, 1}
  s1 == s2  

in , not in 运算符 

  等同于字典in,not in,
  作于集合中,判断某个值是否存在于集合中 

 集合和字典的优点:

  in / not in运算符的判断速度快些 


集合推导式 

  集合推导式是用可迭代对象生成集合的表达式

  语法:
    {表达式 for 变量 in 可迭代对象 [if 真值表达式]}

固定集合 frozenset 

  固定集合是不可变的,无序的, 含有唯一元素的集合
  作用:
    固定集合可以作为字典的键,还可以作为集合的值 

固定集合的构造函数: 

    frozenset()  创建一个空的固定集合
    frozenset(iterable)  用可迭代对象创建固定集合 

固定集合的运算: 

  & 交集, | 并集,  - 补集, ^ 对称补集
  < <= > >= == !=
  in / not in 
  (以上运算符和 集合 set中的用法完全一致) 

固定集合的方法 

  相当于集合的全部方法去掉修改集合的方法 

猜你喜欢

转载自blog.csdn.net/py_1995/article/details/82860972
今日推荐