day9.集合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day9.集合相关的知识,希望对你有一定的参考价值。

作用:去重,关系运算

定义:由不同元素组成的集合,集合中是一组无序排列的可hash值(不可变类型),可以作为字典的key

   集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值

常用操作:

  in 和 not in :判断某个元素是否存在于集合中

  并集  A|B : 在A或者在B

  交集  A&B :既在A又在B

  差集  A-B  :只在A不在B

  对称差集  A^B : 集合A与集合B中所有不属于A∩B的元素的集合

  是否相等  A==B :判断是否为同一个集合,返回布尔值

  父集,子集 >,>= ,<,<= :A>=B  判断A是否为B的父集,返回布尔值

掌握方法:

pythons={‘alex‘,‘egon‘,‘yuanhao‘,‘wupeiqi‘,‘gangdan‘,‘biubiu‘}
linuxs={‘wupeiqi‘,‘oldboy‘,‘gangdan‘}

  1.交集(求出即报名python又报名linux课程的学员名字集合)

  pythons & linuxs
  pythons.intersection(linuxs)
  linuxs.intersection(pythons)
 2.并集(求出所有报名的学生名字集合)
  pythons | linuxs
  pythons.union(linuxs)
  linuxs.union(pythons)
3.差集(求只报名python,没有报名linux的学生)
  pythons - linuxs
  pythons.difference(linuxs)
4.对称差集(求出没有同时这两门课程的学员名字集合)
  pythons ^ linuxs
  pythons.symmetric_difference(linuxs)
  linuxs.symmetric_difference(pythons)
5.添加元素
  linuxs.add(‘mxt‘)
  linuxs.add([1,2,3]) #报错,只能添加不可变类型
6.删除元素
  res=linuxs.pop() #不用指定参数,随机删除,并且会有返回值
  linuxs.remove(‘oldboy‘) #指定元素删除,元素不存在则报错,单纯的删除,没有返回值
  linuxs.discard(‘oldboy1111111‘) #指定元素删除,元素不存在不报错,单纯的删除,没有返回值
7.更新操作
linuxs={wupeiqi,oldboy,gangdan}
new_set={wupeiqi,alex_SB}
linuxs.update(new_set)    #用参数的元素更新原集合

8.清空操作

linuxs={‘wupeiqi‘,‘oldboy‘,‘gangdan‘}
linuxs.clear() #没有返回值,清空原集合

9.复制操作

linuxs={wupeiqi,oldboy,gangdan}
new_l = linuxs.copy()#复制,不改变原集合

10.  其他

  set1.difference_update(set2)  等价于  set1 -= set2

  set1.intersection_update(set2)  等价于  set1 &= set2

  set1.symmetric_difference_update(set2) 等价于 set1 ^= set2

 

以上是关于day9.集合的主要内容,如果未能解决你的问题,请参考以下文章

day9集合以及这段时间的总结 未完待续

day9线程和进程

DAY9-字符串笔记整理2018-1-19

day9--回顾

day9.数据类型总结

Python--day9--进程/线程/协程