集合是一个无序的,不重复的数据组合

作用(集合的重点):
1.去重,把一个列表变成集合就自动去重了
2.关系测试,测试两组数据库之前的交集、差集、并集等关系
s = {1, 1, 2, 2, 3, 4, 'a', 'a', '!', '!'}
print(type(s)) # <class 'set'>
print(s) # 自动去重 {1, 2, 3, 4, 'a', '!'} # add 增加值,不能加一样的。只能加1个值,加多个值会报错
# pop 随机删除一个值,因为集合是无序的
# remove 写谁删谁
# discard 和remove的区别是没有的话不会报错
# update 和add不同的是可以加多个值 加的时候要加别的集合huo{'xxx'},直接加字符串的话会把字符串拆分开加进去 # 关系测试 iphone7 = {'alex', 'rain', 'jack', 'mark'}
iphone8 = {'alex', 'jack', 'jucy', 'emma'} # 交集
print(iphone7.intersection(iphone8)) # {'jack', 'alex'} 或 iphone7 & iphone8 # 差集
print(iphone7.difference(iphone8)) # {'rain', 'mark'} 或 iphone7 - iphone8 求只买iphone8的就反过来 # 并集 (把这两个列表加起来)
print(iphone7.union(iphone8)) # 或 iphone7 | iphone8。谁union谁都行, {'rain', 'jack', 'jucy', 'mark', 'emma', 'alex'} # 对称差集,取交集相反(把不相交的取出来,或买了iphone7,或买了iphone8)
print(iphone7.symmetric_difference(iphone8)) # {'rain', 'jucy', 'mark', 'emma'}
# 等于下面步骤
s3 = iphone7 | iphone8
s4 = iphone7 & iphone8
print(s3 - s4) # {'jucy', 'rain', 'mark', 'emma'} # 子集和超集 iphone7.add('jucy')
iphone7.add('emma') print(iphone7)
print(iphone7.issuperset(iphone8)) # True 或 >= iphone7>=iphone8
print(iphone8.issubset(iphone7)) # True 或 <= iphone8<=iphone7 # 判断是否不相交
print(iphone7.isdisjoint(iphone8)) # False # 把差集赋值给iphone7
iphone7.update({'ann', 'li'})
print(iphone7.difference(iphone8)) # {'mark', 'rain', 'ann', 'li'}
iphone7.difference_update(iphone8)
print(iphone7) # {'li', 'mark', 'rain', 'ann'}

最新文章

  1. svn强制加注释才能提交
  2. ELF Format 笔记(十四)—— 段内容
  3. 【JAVA】【leetcode】【使用堆栈实现后向计算】
  4. javascript标识符
  5. ae显示标注
  6. genymotion访问电脑的localhost
  7. maven下载的jar文件出现invalid LOC header (bad signature)
  8. HDU1312——Red and Black(DFS)
  9. ACM-简单的主题Ignatius and the Princess II——hdu1027
  10. 照葫芦画瓢系列之Java --- Maven的集成和使用
  11. Jenkins环境搭建(5)-与Jmeter完成参数化构建和构建前删除操作
  12. ubuntu18.04使用sudo时反应时间长
  13. ES-常见搜索方式
  14. js 截取指定字符长度 为数组
  15. Linux 4.18内核系列已过时
  16. sublime 使用总结
  17. 【tensorflow】
  18. centos7提示ifconfig command not found解决
  19. JS相关方法总计
  20. linux 下PATH环境变量

热门文章

  1. shell 经典
  2. SSIS-Dtsx包文件打开时一直验证
  3. CDH5.7.2离线部署笔记
  4. JDBC连接中Class.forName(&quot;&quot;)到底干了什么?
  5. 09SpringAopAdvice
  6. Vue部分知识
  7. ABAP:parameters的用法
  8. cpp 计算程序运行时间的两种方法
  9. Selenium3+webdriver学习笔记2(常用元素定位方式,定位单个元素共8种,总共有23种)
  10. Form组件的验证流程及扩展(钩子)