Python 集合(set)类型的操作——并交差
介绍
python的set是一个无序不重复元素集,基本功能包括关系测试和消除重复元素. 集合对象还支持并、交、差、对称差等。
sets 支持 x in set、 len(set)、和 for x in set。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持 indexing, slicing, 或其它类序列(sequence-like)的操作。
基本操作
- >>> x = set("jihite")
- >>> y = set(['d', 'i', 'm', 'i', 't', 'e'])
- >>> x #把字符串转化为set,去重了
- set(['i', 'h', 'j', 'e', 't'])
- >>> y
- set(['i', 'e', 'm', 'd', 't'])
- >>> x & y #交
- set(['i', 'e', 't'])
- >>> x | y #并
- set(['e', 'd', 'i', 'h', 'j', 'm', 't'])
- >>> x - y #差
- set(['h', 'j'])
- >>> y - x
- set(['m', 'd'])
- >>> x ^ y #对称差:x和y的交集减去并集
- set(['d', 'h', 'j', 'm'])
函数操作
- >>> x
- set(['i', 'h', 'j', 'e', 't'])
- >>> s = set("hi")
- >>> s
- set(['i', 'h'])
- >>> len(x) #长度
- 5
- >>> 'i' in x
- True
- >>> s.issubset(x) #s是否为x的子集
- True
- >>> y
- set(['i', 'e', 'm', 'd', 't'])
- >>> x.union(y) #交
- set(['e', 'd', 'i', 'h', 'j', 'm', 't'])
- >>> x.intersection(y) #并
- set(['i', 'e', 't'])
- >>> x.difference(y) #差
- set(['h', 'j'])
- >>> x.symmetric_difference(y) #对称差
- set(['d', 'h', 'j', 'm'])
- >>> s.update(x) #更新s,加上x中的元素
- >>> s
- set(['e', 't', 'i', 'h', 'j'])
- >>> s.add(1) #增加元素
- >>> s
- set([1, 'e', 't', 'i', 'h', 'j'])
- >>> s.remove(1) #删除已有元素,如果没有会返回异常
- >>> s
- set(['e', 't', 'i', 'h', 'j'])
- >>> s.remove(2)
- Traceback (most recent call last):
- File "<pyshell#29>", line 1, in <module>
- s.remove(2)
- KeyError: 2
- >>> s.discard(2) #如果存在元素,就删除;没有不报异常
- >>> s
- set(['e', 't', 'i', 'h', 'j'])
- >>> s.clear() #清除set
- >>> s
- set([])
- >>> x
- set(['i', 'h', 'j', 'e', 't'])
- >>> x.pop() #随机删除一元素
- 'i'
- >>> x
- set(['h', 'j', 'e', 't'])
- >>> x.pop()
- 'h'
Python 集合(set)类型的操作——并交差的更多相关文章
- python集合(set)操作
python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...
- Python 集合set概念和操作
# 集合 # 概念 # 无序的, 不可随机访问的, 不可重复的元素集合 # 与数学中集合的概念类似,可对其进行交.并.差.补等逻辑运算 # 分为可变集合和非可变集合 # set # 为可变集合 # 增 ...
- python集合的分类与操作
如图: 集合的炒作分类: 确定大小 测试项的成员关系 遍历集合 获取一个字符串表示 测试相等性 连接两个集合 转换为另一种类型的集合 插入一项 删除一项 替换一项 访问或获取一项
- python之字符串类型及其操作
1.1字符串类型的表示 字符串是字符的序列表示,可以由一对单引号('). 双引号(")或三引号(’")构成.其中,单引号和双引号都可以表示单行字符串,两者作用相同.使用单引号时,双 ...
- Python 集合内置函数大全(非常全!)
Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员 s ...
- 转: Python集合(set)类型的操作
python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...
- Python集合(set)类型的操作
python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...
- Python集合(set)类型的操作 (转)
python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...
- 转:Python集合(set)类型的操作
转自:http://blog.csdn.net/business122/article/details/7541486 python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系 ...
随机推荐
- ajax 判断账户密码 调取数据模糊查询 时钟
一.判断账户密码 <Login.html> <head> <meta http-equiv="Content-Type" content=" ...
- C#转java
懂C#的话,转Java也不是那么难,毕竟,语言语法还是相似的.尝试了下Java,说说自己的体会吧. 一,Java和C#都是完全面向对象的语言.在面向对象编程的三大原则方面,这两种语言接近得不能再接近. ...
- Springcloud踩坑记---使用feignclient远程调用服务404
公司项目进行微服务改造,由之前的dubbo改用SpringCloud,微服务之间通过FeignClient进行调用,今天在测试的时候,eureka注册中心有相应的服务,但feignclient就是无法 ...
- 八、Node.js-http模块
JS代码如下: /* 如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi,来处理客户端的请求相应. 不过对 N ...
- vs2015+opencv3.3.1 +Eigen 3.3.4 c++实现 薄膜插值 泊松图像编辑(v=0||Δf=0)
#include "core/core.hpp" #include "highgui/highgui.hpp" #include "imgproc/i ...
- Delphi XE8中开发DataSnap程序常见问题和解决方法 (二)想对DBExpress的TSQLDataSet写对数据库操作的SQL语句出错了!
当我们搞定DataSnap后,我们进入客户端程序开发阶段了,我们建立了客户端模块后,打算按照刚才开发服务器的步骤开发客户端程序,随后加入了DBExpress的TSQLDataSet,设定数据库连接后, ...
- Xcode面板的使用
1.调出打包输出管理界面Xcode->Window->Organizer
- LNMP之Php的安装配置
此配置的编译参数是: ./configure --prefix=/opt/php7.2.3 --with-openssl --with-zlib --with-curl --enable-ftp -- ...
- ubtuntu 如何查看内存用量 mongostat详解
free -h top free或者top或者cat /proc/meminfo mongostat是mongdb自带的状态检测工具,在命令行下使用.它会间隔固定时间获取mongodb的当前运行状态, ...
- Python3之os模块
一:简介 os模块主要用于提供系统高级别的操作. 二:常用方法 os.access(path, mode) # 检验权限模式 os.chdir(path) # 改变当前工作目录 os.chflags( ...