Python中的数据结构 --- 集合(set)
1、集合(set)里面的元素是不可以重复的
2、定义一个空集合
s = set([])
print s,type(s)
3、结合的应用:对列表去重复
li = [1,2,3,1,2,3]
print list(set(li))
4、集合的特性:不支持索引,切片,连接,重复;支持成员操作赋、for循环
5、集合常用的方法
s = {6, 3, 2, 3, 5, 7}
- s.add("dd") ## 在集合中,增加元素并排序
- s.pop() ## 使用pop()函数删除;删除第一个
- 交集(interserction)、并集(union)、差集(difference)
s1 = {1, 2, 3}
s2 = {2, 3, 4}
print "并集:", s1.union(s2)
print "并集:", s1 | s2
print "交集:", s1.intersection(s2)
print "交集:", s1 & s2
print "差集:", s1.difference(s2)
print "差集:", s1 - s2
print "差集:", s2.difference(s1)
- 对等差分:并集-交集
print "对等差分:", s1.symmetric_difference(s2)
print "对等差分:", s1 ^ s2
s3 = {1, 2, 3, 4}
s4 = {6,5}
print s3.issubset(s4) # 判断s3是否为s4的子集
- 超集:s3为s4的超集(若s4中每个元素都在集合s3中,并且s3中可能包含s4中的没有的集合)
print s3.issuperset(s4) # 是否为超集
print s3.isdisjoint(s4) # 两个集合是不是不相交
Python中的数据结构 --- 集合(set)的更多相关文章
- Python 中的数据结构总结(一)
Python 中的数据结构 “数据结构”这个词大家肯定都不陌生,高级程序语言有两个核心,一个是算法,另一个就是数据结构.不管是c语言系列中的数组.链表.树和图,还是java中的各种map,随便抽出一个 ...
- Python中的数据结构
Python中的数据结构 这里总结一下Python中的内置数据结构(Built-in Data Structure):列表list.元组tuple.字典dict.集合set,涵盖的仅有部分重点,详细地 ...
- Python中字典和集合
Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...
- 认识python中的set集合及其用法
python中,集合(set)是一个无序排列,可哈希, 支持集合关系测试,不支持索引和切片操作,没有特定语法格式, 只能通过工厂函数创建.集合里不会出现两个相同的元素, 所以集合常用来对字符串或元组或 ...
- Python中字典和集合的用法
本人开始学习python 希望能够慢慢的记录下去 写下来只是为了害怕自己忘记. python中的字典和其他语言一样 也是key-value的形式 利用空间换时间 可以进行快速的查找 key 是唯一的 ...
- Python中的数据结构 --- 列表(list)
列表(list)是Python中最基本的.最常用的数据结构(相当于C语言中的数组,与C语言不同的是:列表可以存储任意数据类型的数据). 列表中的每一个元素分配一个索引号,且索引的下标是从0开始. ...
- Python中的数据结构和算法
一.算法 1.算法的时间复杂度 大 O 记法,是描述算法复杂度的符号O(1) 常数复杂度,最快速的算法. 取数组第 1000000 个元素 字典和集合的存取都是 O(1) 数组的存取是 O(1) O( ...
- Python中的SET集合操作
python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...
- python中的数据结构-链表
一.什么是链表 链表是由一系列节点构成,每个节点由一个值域和指针域构成,值域中存储着用户数据,指针域中存储这指向下一个节点的指针.根据结构的不同,链表可以分为单向链表.单向循环链表.双向链表.双向循环 ...
随机推荐
- Eclipse配置多个jdk
Eclipse配置多个jdk 步骤: 1,打开windows > Preferences: 2,点击“Add”,新增jdk,选择“Standard VM”: 3,下一步,选择对应版本的jer: ...
- 关于axios
简介 axios是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 主要是用于向后台发起请求的,还有在请求中做更多是可控功能. 特点 从浏览器中创建 XMLHttpRe ...
- Windows平台上Caffe的训练与学习方法(以数据库CIFAR-10为例)
Windows平台上Caffe的训练与学习方法(以数据库CIFAR-10为例) 在完成winodws平台上的caffe环境的搭建之后,亟待掌握的就是如何在caffe中进行训练与学习,下面将进行简单的介 ...
- Import SQL into MySQL with a progress meter
There is nice tool called pv # On Ubuntu/Debian system $ sudo apt-get install pv # On Redhat/CentOS ...
- PRcurve
https://blog.csdn.net/qq_33350808/article/details/83178002 问题:删掉pkl
- cocos2d-x入门一
为什么要学cocos2d-x 首先要明白什么是cocos2d-x,能干什么.cocos2d-x是一种跨平台的2D.3D游戏开发工具,目前较为流行的大多数android.ios游戏都是用它 ...
- Vuex访问状态对象的方法
除了<Vuex最基本样例>中的方法外,还有两种方法访问状态对象state: 只需要改app.vue文件 方法一:引入computed <template> <div id ...
- Helper Files
常用帮助类 C#语法糖 Net 通用工具类 Helloweba Front Program Resources jqGrid Highcharts jQuery实现的加载页面过渡效果 jQu ...
- MySQL索引失效的场景
WHERE字句的查询条件里有不等于号(WHERE column!=-),MYSQL将无法使用索引 类似地,如果WHERE字句的查询条件里使用了函数(如:WHERE DAY(column)=-),MYS ...
- [Vue]实例化Vue时的两种挂载方式el与$mount
Vue 的$mount()为手动挂载,在项目中可用于延时挂载(例如在挂载之前要进行一些其他操作.判断等),之后要手动挂载上.new Vue时,el和$mount并没有本质上的不同. 1.el Vue实 ...