Python 中的集合 --set
前言
在Python中,我们用[]来表示列表list,用()来表示元组tuple,那{}呢?{}不光可用来定义字典dict,还可以用来表示集合set。
集合 set
集合(set)是一个无序的不重复元素序列,集合中的元素不能重复且没有顺序,所以不能通过索引和分片进行操作。
如何创建set
•set() 创建一个集合,需要提供一个序列(可迭代的对象)作为输入参数:
#字符串
>>> set('abc')
{'a', 'b', 'c'}
#列表
>>> set(['a','b','c'])
{'a', 'b', 'c'}
#元组
>>> set(('a','b','c'))
{'a', 'b', 'c'} # 集合中的元素不重复
>>> set('aabc')
{'a', 'b', 'c'} #整数
>>> set(123) Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
set(123)
TypeError: 'int' object is not iterable
•{}
>>> {1,2,3}
{1, 2, 3}
>>> a = {1,2,3}
>>> type(a)
<class 'set'>
但注意 利用 {} 来创建集合不能创建空集合,因为 {} 是用来创造一个空的字典
set的常用方法
•set`的添加和删除,更新
>>> a = set('abc')
>>> a
{'a', 'b', 'c'}
#添加元素
>>> a.add('d')
>>> a
{'a', 'b', 'd', 'c'}
#重复添加无效果
>>> a.add('d')
>>> a
{'a', 'b', 'd', 'c'}
#删除元素
>>> a.remove('c')
>>> a
{'a', 'b', 'd'}
#update 把要传入的元素拆分,作为个体传入到集合中
>>> a.update('abdon')
>>> a
{a', 'b', 'd', 'o', 'n' }
•set的集合操作符

>>> a = set('abc')
>>> b = set('cdef')
>>> a&b
{'c'}
>>> a | b
{'a', 'b', 'f', 'c', 'd', 'e'}
>>> a -b
{'a', 'b'}
>>> 'a' in a
True
>>> 'e' in a
False
>>> a != b
True
>>> a == b
False
集合还有不可变集合frozenset,用的不多,有兴趣的同学可以自行学习下!
更多交流公众号:猿桌派
Python 中的集合 --set的更多相关文章
- python 中的集合set
python中,集合(set)是一个无序排列,可哈希, 支持集合关系测试,不支持索引和切片操作,没有特定语法格式, 只能通过工厂函数创建.集合里不会出现两个相同的元素, 所以集合常用来对字符串或元组或 ...
- Python中的集合类型分类和集合类型操作符解析
集合类型 数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称作集合元素(set elements). Python把这个概念引入到它的集合类型对象里.集合对象是一组无 ...
- python学习之【第七篇】:Python中的集合及其所具有的方法
1.前言 python中的集合set与列表类似,它们最大的区别是集合内不允许出现重复元素,如果在定义时包含重复元素,会自动去重. 集合是无序的,集合中的元素必须是不可变类型.集合可以作为字典的key. ...
- 14.python中的集合
什么是集合?正如其字面的意思,一堆东西集中合并到一起.乍一听貌似和容器没什么差别,嗯,好吧,集合也算是一种容器. 在学习这个容器有什么不同之前,先看看集合是如何创建的: a = set() #可变集合 ...
- python中的集合
在python中,普通集合是可变数据类型 通过以下案例说明: >>> s = {1, 2, 3, 4} >>> id(s) 2108634636808 >&g ...
- 8、python中的集合
集合是python中无序.可变的数据结构.集合与字典类似,集合中的元素必须是可哈希的(等同于字典中的键),也就是说集合中的元素是唯一.不可变的数据类型.这里前面说集合可变,后面又说集合中的元素不可变是 ...
- python中的集合、元组和布尔
#元组,元组跟列表一样,只不过列表可读可写,而元组一般用来只读,不修改#python中不允许修改元组的数据,也包括不能删除其中的元素. t1 = ('a','b','c','d','s','a') & ...
- python 中的集合(set) 详解
在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种. 创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方 ...
- python中set集合
一.set集合的特性 访问速度快 天生解决重复问题 二.set变量申明 s1 = set() s2 = set([1,2,3]) 备注:第二种方式在set类中直接传入一个序列. 三.set类中方法大全 ...
随机推荐
- iOS补位动画、沙漏效果、移动UITableViewCell、模拟贪吃蛇、拖拽进度等源码
iOS精选源码 JHAlertView - 一款黑白配色的HUD之沙漏效果 继承UIButton的自定义按钮SPButton 用递归算法实现iOS补位动画 iOS 长按移动UITableViewCel ...
- 字典 -> model
1.使用KVC init(dict : [String : Any]) { super.init() setValuesForKeys(dict) } override func setValue(_ ...
- day13-面向对象
#解决同一类问题,使用面向对象的思想.类是制造对象的模具,类是抽象的,我们能知道它有哪些属性(name,age,saraly),但不知道具体的属性值. #看下面代码:类Penson制造了实例化对象re ...
- bootstrap 学习 ---css样式学习
bootstrap 适用于响应式布局,移动设备优先的web项目 1.学习bootstrap需要引入bootstrap的css,jquery,bootstrap的js,注意:jquery文件必须在boo ...
- 清除无用工具栏:CommandbarCleaner下载
下面演示的工具,适用于Office任一版本. 使用本工具之前,预先打开相应的Office软件. 下载: CommandbarCleaner.rar
- MyBatis注解及动态Sql
一.注解实现MyBatis配置 java注解是在jdk1.5版本之后开始加入的,不得不说注解对于我们开发人员来说是个很方便的东西,实现起来也非常的简单,下边我们说一下在MyBatis中使用注解来替换M ...
- 关于JavaScript中的typeof与instanceof
JavaScript中typeof和instanceof可以用来判断一个数据的类型,什么时候选择使用typeof?什么时候选择使用instanceof? typeof运算符 typeof运算符返回值有 ...
- 吴裕雄--天生自然 人工智能机器学习实战代码:ELASTICNET回归
import numpy as np import matplotlib.pyplot as plt from matplotlib import cm from mpl_toolkits.mplot ...
- js中对Object对象的一些常用操作总结
前言我前面的文章,写过js中“类”与继承的一些文章.ES5我们可以通过 构造函数 或者 Object.create()等方式来模拟出js中的“类”,当然,对象呢是类的实例化,我们可以通过如下方式创建对 ...
- Luogu_2876_[USACO07JAN]解决问题Problem Solving
题目描述 过去的日子里,农夫John的牛没有任何题目. 可是现在他们有题目,有很多的题目. 精确地说,他们有\(P(1 \leq P \leq 300)\)道题目要做. 他们还离开了农场并且象普通人一 ...