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

  • 去重,把一个列表变成集合,就自动去重了
  • 关系测试,测试两组数据之前的交集、差集、并集等关系

常用操作

>>> list1 = [1,4,5,7,3,6,7,9]
>>> list1=set(list1) # 将list变为set,自动去重
>>> print(list1,type(list1))
{1, 3, 4, 5, 6, 7, 9} <class 'set'> >>> s = set([3,5,9,10]) #创建一个数值集合
>>> t = set("Hello") #创建一个唯一字符的集合
>>>
>>> t.add('x') # 添加一项
>>> print(t)
{'o', 'x', 'e', 'l', 'H'} >>> s.update([10,37,42]) # 在s中添加多项
>>> print(s)
{3, 37, 5, 9, 10, 42} >>> t.remove('H') # 使用remove()可以删除一项
>>> print(t)
{'o', 'x', 'e', 'l'} >>> t.pop() # 随机删除,必须无参
'o'
>>> print(t)
{'x', 'e', 'l'} >>> t.discard('e') # 使用discard()删除
>>> print(t)
{'x', 'l'} >>> len(s) # set的长度
6 >>> x in s # 测试x是否是s的成员
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined >>> x not in s # 测试x是否不是s的成员
True >>> print(s)
{3, 37, 5, 9, 10, 42}
>>> y=set([3,5,9,8,4])
>>>
>>> s<=y
False
>>> s.issubset(y) # 同s<=y,测试是否s中的每一个元素都在y中
False >>> s>=y
False
>>> s.issuperset(y) # 同s>=y,测试是否y中的每一个元素都在s中
False >>> s&y
{9, 3, 5}
>>> s.intersection(y) # 同s&y,交集,返回一个新的set包含s和y中的公共元素
{9, 3, 5} >>> s|y
{3, 4, 37, 5, 8, 9, 42, 10}
>>> s.union(y) # 同s|y,并集,返回一个新的set包含s和y中的每一个元素
{3, 4, 37, 5, 8, 9, 42, 10} >>> s-y
{10, 42, 37}
>>> s.difference(y) # 同s-y,差集(项在s中,但不在y中),返回一个新的set包含s中有但是y中没有的元素
{10, 42, 37} >>> s^y
{4, 42, 37, 8, 10}
>>> s.symmetric_difference(y) # 同s^y,对称差集(项在y或s中,但不会同时出现在二者中),返回一个新的set包含s和y中不重复的元素
{4, 42, 37, 8, 10} >>> s.copy() #返回 set “s”的一个浅复制
{3, 42, 37, 5, 9, 10}

Python3学习之路~2.6 集合操作的更多相关文章

  1. Python3学习之路~2.7 文件操作

    对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 Somehow, it seems the love I knew was always the ...

  2. Python3学习之路~2.3 字符串操作

    字符串操作 特性:不可修改 name="my \tname is alex" print(name.capitalize()) #首字母变大写 print('Alex LI'.ca ...

  3. Python3学习之路~2.4 字典操作

    字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划.字母来查对应页的详细内容. 定义字典(dictionary) info = { 'stu1101': "Amy ...

  4. Python3学习之路~2.8 文件操作实现简单的shell sed替换功能

    程序:实现简单的shell sed替换功能 #实现简单的shell sed替换功能,保存为file_sed.py #打开命令行输入python file_sed.py 我 Alex,回车后会把文件中的 ...

  5. Python3学习之路~0 目录

    目录 Python3学习之路~2.1 列表.元组操作 Python3学习之路~2.2 简单的购物车程序 Python3学习之路~2.3 字符串操作 Python3学习之路~2.4 字典操作 Pytho ...

  6. [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  7. Python3学习之路~2.1 列表、元组操作

    列表 列表是我们以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作. 定义列表(list) names=['Amy','Bob','Cindy','David'] 通过下标访问列 ...

  8. Python3学习之路~9.4 队列、生产者消费者模型

    一 队列queue 当必须在多个线程之间安全地交换信息时,队列在线程编程中特别有用. 队列的作用:1.解耦,使程序直接实现松耦合 2.提高处理效率 列表与队列都是有顺序的,但是他们之间有一个很大的区别 ...

  9. Python3学习之路

    python基础知识点 1.python基础知识点汇总 2.python常用数据类型 3.python之列表 4.python之字符串 5.python常用数据运算符 6.python之字典 7.py ...

随机推荐

  1. 浅谈千万级PV/IP规模高性能高并发网站架构

    高并发访问的核心原则其实就一句话“把所有的用户访问请求都尽量往前推”. 如果把来访用户比作来犯的"敌人",我们一定要把他们挡在800里地以外,即不能让他们的请求一下打到我们的指挥部 ...

  2. php_admin_value open_basedir 引起的上传文件失败解决方法

    为了安全,我们通常会在虚拟主机设置中,加入这一行php_admin_value open_basedir "/usr/local/apache/htdocs/www"但这会导致mo ...

  3. 正则-input控制输入

    大于0的数字:/^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/  这正则看不太懂,先放着 作者:Kevin Yang 使用正则表达式找出不包含特定字符串 ...

  4. WP8.1学习系列(第三章)——磁贴和锁屏通知

    一.创建默认磁贴 创建默认磁贴,不需要任何代码只有制作几张图片就可以了. 1.创建工程之后,在工程目录找到package.appxmanifest,打开它. 2.在应用程序栏,通知选项,选择徽章和图块 ...

  5. 【H5】使用h5实现复制粘贴功能

    方案一 : 可满足大部分浏览器正常使用 <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  6. 【抓包分析】Charles和 夜神模拟器 对安卓应用进行抓包分析

    准备工具 : 1 Charles   : https://www.charlesproxy.com  (收费) 2 夜神模拟器  : https://www.yeshen.com  (免费) 2 模拟 ...

  7. xmapp 404设置

    这样做的好处一个是很友好,另一个是对于你的网站会更安全些,如果没设置,别人在你的网址后随便输入一个路径,会显示404错误,并且会显示你的服务器版本号,服务器配置一目了然,为了避免这种情况,可以设置错误 ...

  8. 浅谈CSS盒子模型

    [摘要]盒子模型是CSS中的一个重要概念,虽然CSS中没有盒子这个单独的属性对象,但它却是CSS中无处不在的一个重要组成部分.掌握盒子模型的原理和使用方法可以极大地丰富HTML元素的表现效果,同时对于 ...

  9. C++空类

    class Empty { public: Empty(); // 缺省构造函数 Empty( const Empty& ); // 拷贝构造函数 ~Empty(); // 析构函数 Empt ...

  10. Android与互联网的交互方式有三种

    数据下载:下载网络上的的数据,包括图片.代码文本.XML文件.JSON数据,音/视频等大文件,调用webservice. 数据上传:上传图片.文本.XML.JSON数据.音/视频文件,调用webser ...