add方法:

 s = {1,2,3}
s.add(4)
print(s)# {1, 2, 3, 4}

同list的append方法,若调用s.add(3),则不会有任何影响。这点与C#中的HashSet有区别。

update方法:

 s = {1,2,3,4,5}
s.update({3,5,7},[4,6])
print(s)# {1, 2, 3, 4, 5, 6, 7}

同list的extend方法,将原来没有的元素添加进集合。update可以接受一个到多个可遍历的集合,例如上面例子就接收了一个集合和列表。

discard和remove方法:

两者都是删除元素,但既然Python提供了两个方法,那么肯定是有区别的。

 s = {1,2,3,4,5}
s2 = s.copy()
s.discard(1)
s.discard(1)
print(s)# {2, 3, 4, 5}
s2.remove(1)
s2.remove(1)# Error
print(s2)

在上面的代码可以看出,discard在元素不存在的情况下等价于空操作,而remove在元素不存在的情况下,则会产生错误。

pop方法:

 s={4,1,3}
print(s.pop())
print(s.pop())

在我的电脑上输出的是:1 3

由于集合是无序的,因此pop方法的含义是删除随机一个元素,若集合为空,则产生错误。

clear方法:

清空集合。

union方法:

 a={1,2,3}
b={2,3,4}
c=a.union(b)
print(c)# {1, 2, 3, 4}

组合两个集合。数学上的并集。

intersection方法:

 a={1,2,3}
b={2,3,4}
c=a.intersection(b)
print(c)# {2, 3}

数学上的交集。

difference方法:

 a={1,2,3}
b={2,3,4}
c=a.difference(b)
print(c)# {1}

a集合的所有未在b中出现的元素。

symmetric_difference方法:

 a={1,2,3}
b={2,3,4}
c=a.symmetric_difference(b)
print(c)# {1, 4}

所有只出现一次的元素。

issubset、issuperset方法:

a={1,2,3}
b={1,2}
print(b.issubset(a))# True
print(a.issuperset(b))# True

如代码所示,不解释。

Python学习-31.Python中集合的一些操作的更多相关文章

  1. python学习博客地址集合。。。

    python学习博客地址集合...   老师讲课博客目录 http://www.bootcdn.cn/bootstrap/  bootstrap cdn在线地址 http://www.cnblogs. ...

  2. python学习6—数据类型之集合与字符串格式化

    python学习6—数据类型之集合与字符串格式化 1. 使用id()可以查看一个变量的内存地址: name = 'alex' id(name) 2. 进制转换 十进制转换为二进制等: a = 10 # ...

  3. Python学习day09 - Python进阶(3)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  4. Python学习day05 - Python基础(3) 格式化输出和基本运算符

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  5. Python学习随笔:使用xlwings设置和操作excel多行多列数据以及设置数据字体颜色填充色对齐方式的方法

    ☞ ░ 前往老猿Python博文目录 ░ 在前面老猿的文章中,<Python学习随笔:使用xlwings读取和操作Excel文件>.<Python学习随笔:使用xlwings读取和操 ...

  6. Python学习笔记6-Python中re(正则表达式)模块学习

    今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍Python中常用的正则表达式处理函数. re.match re.match 尝试从 ...

  7. 《转》python学习(10)-集合

    转自 http://www.cnblogs.com/BeginMan/p/3160565.html 一.目录 1.集合概述 2.关于集合的操作符.关系符号 3.集合的一系列操作(添加.更新.访问.删除 ...

  8. Python学习(002)--Python介绍

    一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...

  9. Python学习day07 - Python进阶(1) 内置方法

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

随机推荐

  1. 基于JS的文本验证

    1,不能为空 <input type="text" onblur="if(this.value.replace(/^ +| +$/g,'')=='')alert(' ...

  2. Servlet Filter 过滤器 对指定页面不拦截

    package niit.dxs.controller; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; i ...

  3. rabbitmq web管理界面 用户管理

    安装最新版本的rabbitmq(3.3.1),并启用management plugin后,使用默认的账号guest登陆管理控制台,却提示登陆失败. 翻看官方的release文档后,得知由于账号gues ...

  4. 安装64位的oracle数据库, 使用自带的sqldeveloper

    个人感觉这个东西比plsql要好用, 虽然界面有点丑, 整个使用与plsql也没多大区别, 这里是他的位置C:\oracle_11g\product\11.2.0\dbhome_1\sqldevelo ...

  5. 删除Eclipse已有的SVN资源库位置

    点击Eclipse菜单栏的[Window]->[Show View]->[Other],在弹出的对话框中,选择[SVN]->[SVN资源库],然后点击[OK]. 接着,在Eclips ...

  6. VC字符串处理整理

    场景: 1.在存储数据时有时接口需要合并字符串值,并以某些特殊字符来合并部分,到需要的时候再分割它.如一些数值,人名等. 2.C++有strtok,stringstream和find函数来实现分割.可 ...

  7. 国内maven仓库地址

    Maven 中央仓库地址: 1.http://mvnrepository.com/ (推荐) 2.http://mirrors.ibiblio.org/maven2/ 3.http://repo1.m ...

  8. Java的8种包装类:Wrapper Class

    Java有8种基本数据类型,为什么又要出现对应的8种包装类: 1.Java的8种基本数据类型不支持面向对象编程机制 2.8种基本数据类型不具备“对象”的特性:没有成员变量.方法可供调用 3.例如:某个 ...

  9. OpenGLES.Functions.Missing.in.OpenGLES1.x

    转载自: http://maniacdev.com/2009/05/big-list-of-opengl-functions-missing-in-iphone-opengl-es The funct ...

  10. Codeforces 599B. Spongebob and Joke 模拟

    B. Spongebob and Joke time limit per test 2 seconds memory limit per test 256 megabytes input standa ...