0. 集合的作用及特点

  集合具有去重和关系测试两大作用,它具有无序的特点。

list1 = [1,2,3,4,5,7,6,8,6,4]
list1 = set(list1)
print(list1)
>>>:{1, 2, 3, 4, 5, 6, 7, 8}

1, 几何关系

(1)取交集

取交集有两种方法,一种是直接采用函数,一种使用运算符

list2 = set([2,6,8,9,0])

list1.intersection(list2)  或者 list1 & list2

 list1 = [1,2,3,4,5,7,6,8,6,4]
list1 = set(list1)
list2 = [2,3,4,8,9,0]
list2 = set(list2)
#取交集
print(list1.intersection(list2))
print(list1 & list2)
list1 = [1,2,3,4,5,7,6,8,6,4]
list1 = set(list1)
list2 = [2,3,4,8,9,0]
list2 = set(list2)
#取交集
print(list1.intersection(list2))
print(list1 & list2)
>>>:{8, 2, 3, 4}
>>>:{8, 2, 3, 4}

(2) 取并集

list1.union(list2)   或   list1 | list2

#取并集
print(list1.union(list2))
print(list1 | list2)
>>>:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
>>>:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

(3) 求差集

list1.difference(list2)  #in list1 but not in list2

#差集
print(list1.difference(list2))#in list1 but not in list2
print(list2.difference(list1))#in list2 but not in list1
>>>:{1, 5, 6, 7}
>>>:{0, 9}

(4)子集:主要是判断list1是否为list2的子集

list1.issubset(list2) #是,则输出True;不是,则输出False

print(list1.issubset(list2))#判断list1是否为list2的子集
>>>:False

(5)父集

list1.issuperset(list2)

print(list1.issuperset(list2))
>>>:False
list3 =set([1,3,7])

print(list1.issuperset(list3))

>>>:True

(6)对称差集

list1.symmetric_difference(list2)  或 list1 ^ list2

print(list1.symmetric_difference(list2))
print(list1^list2)
>>>:{0, 1, 5, 6, 7, 9}
>>>:{0, 1, 5, 6, 7, 9}

2. 基本操作:增删改查

list1.add(30)  #添加一项

list1.update([33,56,77,90]) #添加多项

list1.remove('dd')  #删除一项,如果集合中不存在该元素,则会报错

list.pop()  #删除任意一个元素

list.discard('dd')  #如果集合中不存在该元素,则返回None

  

最新文章

  1. 多线程条件通行工具——CountDownLatch
  2. 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署
  3. 3sum问题的解决
  4. Hibernate5.2之一对一外键关联(五)
  5. IPv6测试环境
  6. encodeURI和encodeURIComponent的区别
  7. Jenkins项目构建结果通知Email的替代方案Wall Display插件
  8. (转)Aspone.Cells设置Cell数据格式 Setting Display Formats of Numbers and Dates
  9. 集成 AliPay - 支付宝
  10. MongoDB学习笔记-游标
  11. 禁用windows 10自动更新
  12. 我的MYSQL学习心得(六)
  13. [笔记]SciPy、Matplotlib基础操作
  14. HDU 2389 Rain on your Parade / HUST 1164 4 Rain on your Parade(二分图的最大匹配)
  15. 判断PDF文件是否相同(通过二进制流判断)
  16. Creator 插件商店:高品质插件
  17. Springmvc+WebSocket整合
  18. 微信小程序填坑之旅一(接入)
  19. ios成长之每日一遍(day 4)
  20. Inno Setup入门(十)——操作注册表

热门文章

  1. shell编程9*9乘法表
  2. sql批量插入添加自动编号
  3. NOSQL之Redis、MongDB、Habase、Cassandra的介绍与比较
  4. MVC三者关系
  5. HBase 强制删除表
  6. JQuery 对象和事件
  7. mvc api odata查询选项之 $inlinecount $format 选项(转)
  8. Jenkins执行selenium报错unknown error: cannot find Chrome binary
  9. CodeForces 518B Tanya and Postcard (题意,水题)
  10. Java 代理模式(二) Java中的动态代理