集合是一个无序、不重复的数据集合,它的主要作用如下:

  • 去重:把一个列表变成集合,就可以去除重复的内容
  • 关系测试:测试两组数据之间的交集、并集、差集等关系

集合常用的操作:

  1. #创建一个数值集合
  2. s=set([99,1,23,8,4,7])
  3. print('s=',s)
  4. #创建一个唯一字符的集合
  5. t=set('MyPython')
  6. print('t=',t)
  7. #把一列表变成集合,验证去重功能
  8. list=[5,2,7,36,2,5,111]
  9. list2set=set(list)
  10. print('列表变成集合后为:',list2set)
  11. #交集
  12. #求交集、并集时集合前后顺序无所谓
  13. set1=set([3,5,7,9,12,0])
  14. set2=set([1,2,3,6,8,9])
  15. #s1与s2结果一样。求交集的两种算法都可以
  16. s1=set1.intersection(set2)
  17. s2=set1&set2
  18. print('set1=',set1)
  19. print('set2=',set2)
  20. print('set1与set2的交集是:',s1,s2)
  21. #并集
  22. #union()=|
  23. s3=set1.union(set2)
  24. s4=set2|set1
  25. print('set1与set2的并集是:',s3,s4)
  26. #差集
  27. print('***********求set1与set2的差集***********')
  28. print('set1=%s\nset2=%s\n'%(set1,set2))
  29. s5=set1.difference(set2)#求差集(数值在set1中,但不在set2中)
  30. s6=set2.difference(set1)#求差集(数值在set2中,但不在set1中)
  31. s7=set1-set2 #求差集(数值在set1中,但不在set2中)
  32. s8=set2-set1 #求差集(数值在set2中,但不在set1中)
  33. print('s5=%s\n'%s5,'S6=%s\n'%s6,'s7=%s\n'%s7,'s8=%s\n'%s8)
  34.  
  35. #对称差集
  36. print("*************求对称差集**************")
  37. s9=set1.symmetric_difference(set2)
  38. s10=set1^set2
  39. print('set1与set2的对称差集是:',s9,s10)
  40.  
  41. #基本操作
  42. set1.remove(3)#删除set1中的一项3
  43. print(set1)
  44. set1.update([66.77,88,99])#在set2中添加三个数值
  45. print(set1)
  46.  
  47. len(set1)#求set1的长度
  48. #x in set1 #测试x是否是set1的成员
  49. #x not in set1
  50.  
  51. #子集 超集
  52. a=set([2,3,4,5,9])
  53. b=set([2,3,5])
  54. c=set([44,2,7,5,12,3])
  55. print(a.issuperset(b))
  56. print(b.issuperset(a))
  57. print(b.issubset(a))
  58. print(b.issubset(c))
  59. print(a>=b)
  60. print(a<=b)
  61. print(b<=c)
  62. print(b>=c)

  

Python基础学习之集合的更多相关文章

  1. python基础学习1-SET 集合

    # -*- coding:utf-8 -*- set集合 无序不重复的序列 se = {"a","b","c"} #创建SET集合 prin ...

  2. python基础学习之集合set

    .集合:set 特点:无序,不可重复(自动去重),可更改,可以与元组.列表互相转换 格式:s = {'x','y','z'} 转换:(转回用set) s = {'x','y','z'}        ...

  3. (一)python基础学习

    根据廖雪峰老师的python教程写一些学习总结! Python基础学习 1.使用list和tuple (1)list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时 ...

  4. Python基础学习五

    Python基础学习五 迭代 for x in 变量: 其中变量可以是字符串.列表.字典.集合. 当迭代字典时,通过字典的内置函数value()可以迭代出值:通过字典的内置函数items()可以迭代出 ...

  5. Python基础学习三

    Python基础学习三 1.列表与元组 len()函数:可以获取列表的元素个数. append()函数:用于在列表的最后添加元素. sort()函数:用于排序元素 insert()函数:用于在指定位置 ...

  6. python基础学习8

    python基础学习8 内容概要 字典的内置方法 元组的内置方法 集合的内置方法 垃圾回收机制 内容详情 字典的内置方法 一.类型转换 res = dict(name='jason', pwd=123 ...

  7. python基础学习7

    python基础学习7 内容概要 字符串的内置方法 字符串的内置方法(补充) 列表的内置方法 可变类型与不可变类型 队列与堆栈 内容详情 字符串的内置方法 # 1.strip 移除字符串首尾的指定字符 ...

  8. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  9. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

随机推荐

  1. Mybatis学习笔记(八) —— Mybatis整合spring

    一.整合思路 1.SqlSessionFactory对象应该放到spring容器中作为单例存在. 2.传统dao的开发方式中,应该从spring容器中获得sqlsession对象. 3.Mapper代 ...

  2. Linux 磁盘 分区 挂载点的理解

    在Linux中一切皆文件: 虚拟文件系统(Virtual File System, 简称 VFS), 是 Linux 内核中的一个软件层,用于给用户空间的程序提供文件系统接口:同时,它也提供了内核中的 ...

  3. 从零开始使用vue-cli搭建一个vue项目及注意事项

    一.安装node.js 1.根据电脑的自行下载node.js安装包http://nodejs.cn 2.点击安装,按照正常的的一路点击下去 3.验证安装是否成功,按键win+r,输入cmd打开命令行工 ...

  4. 转 Python多版本管理-pyenv

    #######for linux https://www.cnblogs.com/saneri/p/7642316.html 经常遇到这样的情况: 系统自带的Python是2.x,自己需要Python ...

  5. 关系型数据库---MySQL---对中文字段排序

    1.对中文进行排序时会发生错误,原因是使用的字符集不是中文的字符集: 解决:CONVERT函数 SELECT a.id,a.`name`,a.ch_name FROM `user` a ORDER B ...

  6. Notepad++实用插件

    说明: Converter: 编码转换工具,ascii2hex,hex2ascii DoxyIt: 添加文件或者函数注释比较方便 DSpellCheck: 拼写检查 MIME Tools: 将Base ...

  7. AndroidAPI

    1词典 百度翻译 http://api.fanyi.baidu.com/api/trans/product/index 百度翻译支持多种语言互相翻译,包含PHP, JS, Python, C, Jav ...

  8. SSM项目spring配置文件详细步骤(分门别类、灵巧记忆)

    spring-dao.xml文件 1.配置外部db.property文件: <context:property-placeholder location="classpath:jdbc ...

  9. 安卓压力测试之monkey

    步骤: 1.把要测试的apk包放在 SDK-platfrom-tools下 2.配置adb.exe的环境变量 3.手机连接上电脑(虚拟机和真机只能连接一个) 4.运行:adb devices   查看 ...

  10. 在rails 中使用mysql 出现Mysql::Error: Incorrect string value: 的问题

    这是因为你在做数据库的操作中有非英文的问题,之后gem mysql2 处理中文必须要数据库也指定是utf-8 才比较好处理 解决的方法很简单,将数据库每张表都转化成utf-8即可,如果数据库没有什么重 ...