python 基本数据类型之set
set是一个无序且不重复的元素集合,相当于字典的键,不重复,不可变
一、set变量初始化
A = set() #注意在创建空集合的时候只能使用s=set(),因为s={}创建的是空字典
B = {"one", "two", "three", "four"}
C = set('boy')
D = set(['y', 'b', 'o'])
E = set({"k1": 'v1', 'k2': 'v2'})
F = {'k1', 'k2', 'k2'}
G = {('k1', 'k2', 'k2')}
print (A, type(A))
print (B, type(B))
print (C, type(C))
print (D, type(D))
print (E, type(E))
print (F, type(F))
print (G, type(G))运行结果:
(set([]), <type 'set'>)
(set(['four', 'three', 'two', 'one']), <type 'set'>)
(set(['y', 'b', 'o']), <type 'set'>)
(set(['y', 'b', 'o']), <type 'set'>)
(set(['k2', 'k1']), <type 'set'>)
(set(['k2', 'k1']), <type 'set'>)
(set([('k1', 'k2', 'k2')]), <type 'set'>)
二、集合关系
print E & F # E 和 F的交集
print A | B # A 和 B的并集
print B - A # 求差集(项在B中,但不在A中)
print D ^ E # 对称差集(项在D或E中,但不会同时出现在二者中)
运行结果:
set(['k2', 'k1'])
set(['four', 'one', 'three', 'two'])
set(['four', 'one', 'three', 'two'])
set(['y', 'k2', 'k1', 'b', 'o'])
x = set(['i', 'e', 'm', 'd', 't'])
y = set(["i", "d", "e", "a"])
print x.union(y) # 并集
set(['e', 'd', 'i', 'h', 'j', 'm', 't'])
print x.intersection(y) # 交集
set(['i', 'e', 't'])
print x.difference(y) # 差集
set(['h', 'j'])
print x.symmetric_difference(y) # 对称差
运行结果:
set(['a', 'e', 'd', 'i', 'm', 't'])
set(['i', 'e', 'd'])
set(['m', 't'])
set(['a', 'm', 't'])
se = set(["AA", "BB", "CC", "DD"])
ke = set(["AA", "BB"])
print se.difference(ke) # A中存在 ,B中不存在 ,生成一个新序列
se.difference_update(ke) # A中存在 ,B中不存在 ,更改原序列
print se
print se.symmetric_difference(ke) # 对称交集,生成新序列
se.symmetric_difference_update(ke) #对称交集,更新原序列
print se
运行结果:
set(['CC', 'DD'])
set(['CC', 'DD'])
set(['AA', 'CC', 'DD', 'BB'])
set(['AA', 'BB', 'CC', 'DD'])
三、包含关系
se = set(["AA", "BB", "CC", "DD"])
ke = set(["AA", "BB"])
print se.isdisjoint(ke) # 判断两个集合是不是不相交
print se.issubset(ke) # 判断集合是不是被其他集合包含,等同于a<=b
print se.issuperset(ke) # 判断集合是不是包含其他集合,等同于a>=b
运行结果:
False
False
True
四、添加元素
se = set(["AA", "BB", "CC"])
ke = set({"11", "22"})
print se
se.add("dd") # 添加一个元素
print se
se.update(["DD", "EE"]) # 添加多个元素
print se
se.update(ke) # 添加另一个集合的元素
print seset(['AA', 'CC', 'BB'])
set(['AA', 'CC', 'dd', 'BB'])
set(['AA', 'BB', 'CC', 'dd', 'EE', 'DD'])
set(['AA', '11', '22', 'BB', 'CC', 'dd', 'EE', 'DD'])
五、删除元素
se = set(["AA", "BB", "CC", "DD"])
se.discard("AA")
print se
se.remove("BB") # 元素不存在时会抛出异常
print se
se.pop() # 弹出一个值,随机的,不能指定
print se
运行结果:
set(['CC', 'DD', 'BB'])
set(['CC', 'DD'])
set(['DD'])
六、去除重复值
a = [11, 22, 33, 44, 55, 11, 33]
b = set(a)
print list(b)
运行结果:
[33, 11, 44, 22, 55]
七、常用方法
class set(MutableSet[_T], Generic[_T]):def add(self, element: _T) # 添加一个元素def clear(self) # 清空集合def copy(self)def difference(self, *s: Iterable[Any]) # A中存在 B中不存在,返回一个新集合,可赋值给其他变量def difference_update(self, *s: Iterable[Any]) # A中存在 B中不存在,直接更改集合Adef discard(self, element: _T) # 删除单个元素def intersection(self, *s: Iterable[Any])def intersection_update(self, *s: Iterable[Any])def isdisjoint(self, s: Iterable[Any]) # 判断两个集合是不是不相交def issubset(self, s: Iterable[Any]) # 判断集合是不是被其他集合包含,等同于a<=bdef issuperset(self, s: Iterable[Any]) # 判断集合是不是包含其他集合,等同于a>=bdef pop(self) # 弹出一个元素,随机的,不可指定def remove(self, element: _T) # 移除单个元素,如果该元素不存在在该集合,则会报错def symmetric_difference(self, s: Iterable[_T])def symmetric_difference_update(self, s: Iterable[_T])def union(self, *s: Iterable[_T])def update(self, *s: Iterable[_T]) # 更新单个元素,或其他集合
转载于:https://blog.51cto.com/20120809/1975068
python 基本数据类型之set相关推荐
- Python的零基础超详细讲解(第四天)-Python的数据类型
Python 基本数据类型 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型&q ...
- python的数据类型和变量
python的数据类型和变量 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种 ...
- python核心数据类型_Python核心数据类型-列表
Python核心数据类型-列表 关于列表的重要属性 列表是任意对象的有序集合,列表中可以包含任何种类的对象,数字 字符串 或者是其他列表 列表可以通过偏移来读取其中的元素,也可以通过分片读取列表中的某 ...
- python判断数据类型type_Python 判断数据类型有type和isinstance
Python 判断数据类型有type和isinstance 基本区别在于: type():不会认为子类是父类 isinstance():会认为子类是父类类型 执行结果如下: 用isinstance判断 ...
- Python基础数据类型之set集合
Python基础数据类型之set集合 一.set数据类型介绍 二.set集合演示 三.set集合中hash介绍 1.哈希定义 2.数据类型的hash和不可hash 3.set中hash示例 四.set ...
- Python基础数据类型之字符串(二)
Python基础数据类型之字符串(二) 一.字符串的常规操作 二.字符串的大小写转换 1.首字母大写 2. 每个单词首字母大写 3.大写转化为小写 4.所有字母变成大写字母 二.验证码忽略大小写 三. ...
- Python基础数据类型之字符串(一)
Python基础数据类型之字符串(一) 一.字符串格式化 1.字符串占位符 2.字符串格式化操作 二.f-string格式化 三.字符串的索引 四.字符串的切片 1.常规切片使用方法 3.步长的介绍 ...
- 好好学python·基本数据类型
好好学Python的第一天 基本用法 注释 输出 变量 命名规范 变量的定义方式 python的数据类型 数据类型分类 字符串类型 数字类型 List列表类型 tuple 元组类型的定义 Dict字典 ...
- python元组类型_什么是python元组数据类型
什么是python元组数据类型 发布时间:2020-08-25 11:46:29 来源:亿速云 阅读:68 这篇文章运用简单易懂的例子给大家介绍什么是python元组数据类型,代码非常详细,感兴趣的小 ...
- python核心数据类型_Python核心数据类型—元组
Python核心数据类型-元组 Python元组与列表类似,但是元组属于不可变类型 创建元组 a = () #创建空元组 a = (1, 2, 3) #创建一个元组 a = [1, 2, 3] b = ...
最新文章
- python get请求 由于目标机器_使用python和selenium进行Web抓取:由于目标机器主动拒绝i...
- paip.odbc DSN的存储与读取
- R计算获取决策曲线数据(Decision Curve Analysis,DCA)并使用python进行可视化
- linux(2)- 共享内存的实现
- css3属性box-sizing:border-box 用法解析 击败边框:带border的百分比布局
- java类是如何加载的?不知道classLoader和双亲委派,不是一个合格的程序员
- 我的Objective-C系列文章
- 《直播疑难杂症排查系列》之一 :播放失败
- delphi 关闭时缩小到托盘_delphi 实现最小化系统托盘
- 文件流、目录流、文件描述符总结
- studying and learning
- HCIE-Security Day13:防火墙双机热备实验(一)防火墙直路部署,上下行连接交换机
- js 右键菜单_Windows下的多场景「快捷菜单」工具箱
- 【欧洲AI复兴】马克龙:法国AI要赶美超中!
- 什么是PXE及PXE启动
- 老司机必备-安卓+PC磁链下载播放工具
- 几个可以免费下载视频素材的网站[国外],希望大家喜欢[可以的话给个关注哟]
- access里面的表达式运用_表达式的示例
- Linux vim编辑文件查找指定的字符串
- 很容易爱上jQuery
热门文章
- 分布式事务及分布式系统一致性解决方案
- JavaScript之Ajax-1 Ajax(Ajax原理、Ajax对象属性和方法)
- 不使用库函数将字符串转换为数字
- 解决uploadify在Firefox下丢失session的问题
- [java]关于访问权限
- 【Val】对于博客使用些许意见
- 两种实现大图内容平移效果的方法
- 组合算法 C++高效实现 (二进制辅助法)
- 在Linux下安装LaTeX+CJK+中文字体的方法 [转]
- [翻译]HTTP: Response Code