集合

集合是一种容器,在Python中的含义与数学中的含义相同,包含“互异性”,“无序性”,“确定性”三要素。他可以动态的向里面添加或删除元素。

  • 区别

    列表的字面量使用的是方括号[]
    元组的字面量使用的是圆括号()
    集合的字面量使用的是大括号{}
    

eg:
python {'apple','orange','pear','banana'}

  • 1. 使用{}建立函数
    
fruit={'apple','orange','pear','banana'}
  2. 使用set()创建一个空集合
emp=set()
  3. 使用set()将列表转换成集合
emp=set([1,1,2,3])
  4. 将列表推导式转换成集合
emp=set([x*2 for x in range(1,100)])  #200以内偶数
  • 删 & 改

s={2,2,3,5,7,11}

函数 示例 结果 说明
len() len(s) 5 返回集合中元素个数
min() min(s) 2 返回集合中最小的元素
max() max(s) 11 返回集合中最大的元素
sum() sum(s) 28 (2+3+5+7+11 将集合中的所有元素相加
add() s.add(111) 将一个元素加入集合中
remove() s.remove(3) 从集合中删除一个元素,如果集合中没有则抛出KEYERROR异常
  1. 集合之间的关系
函数 示例 结果 说明
in 3 in s TRUE 元素是否在集合中,返回bool
not in 13 not in s TRUE 元素是否不在集合中,返回bool
S.issubset(s) s1.issubset(s2) TRUE /FALSE 判断s1是否是s2的子集,返回bool值
S.issuperset(s) s2.issuperset(s1) TRUE /FALSE 判断s2是否是s1的超集,返回bool值,恰好与issubset相反
== s1={2,3,5,7} s2={2,3,5,7} print(s1==s2) True 判断s1和s2是否完全相同
!= s1={2,3,5,7} s2={2,3,5,7} print(s1!=s2) False 判断s1和s2是否存在不同
< s1={2,3,7} s2={2,3,5,7} print(s1<s2) True 判断s1是s2真子集
<= s1={2,3,5,7} s2={2,3,5,7} print(s1<=s2) True 判断s1是s2子集
> s1={2,3,5,7,9} s2={2,3,5,7} print(s1>s2) True 判断s1是s2真超集
>= s1={2,3,5,7} s2={2,3,5,7} print(s1>=s2) True 判断s1是s2超集
  1. 集合的运算
    s1={2,3,5,7,11}
    s2=
运算 函数 运算符 示例 结果 说明
并集 union() s1 s2
交集 intersection() & s1&s2 两个集合中的元素只要公共部分
差集 difference() - s1-s2 s1中有s2中没有的元素
对称差 symmertric_difference() ^ s1^s2 除了共同元素之外的所有元素
posted @ 2020-09-04 16:26  life_if_forever  阅读(133)  评论(0)    收藏  举报