python set 集合复习--点滴
一、set特性:
set是一个无序不重复的元素集合。
集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键。集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数(大小),用for循环迭代集合的成员。但是因为集合本身是无序的,不可以为集合创建索引或执行切片( slice)操作,也没有键(keys)可用来获取集合中元素的值。
set和dict一样,只是没有value,相当于dict的key集合, 由于dict中的key是不重复的,且是不可变对象,因此set也有如下特性
1.不重复
2.元素为不可变对象
二、 创建set集合
>>> set('boy')
set(['y', 'b', 'o'])
>>>
集合的添加
添加:add()方法和update()方法,add()作为一个元素添加,update()单个元素添加。
>>> n = set('boy')
>>> n
set(['y', 'b', 'o'])
>>> n.add('python')
>>> print n
set(['y', 'python', 'b', 'o'])
>>> n.update('ok')
>>> n
set(['y', 'python', 'k', 'b', 'o'])
例子2:
>>> se = {11,22,33}
>>> be = {22,44,55}
>>> se.update(be)
>>> se
set([33, 22, 55, 11, 44])
>>> se.update([66,77])
>>> print (se)
set([33, 66, 22, 55, 11, 44, 77])
>>> se.update('88')
>>> se
set([33, 66, 22, 55, '8', 11, 44, 77])
集合的删除
discard(),remove(),pop()
se = {11, 22, 33}
se.discard(11)
se.discard(44) # 移除不存的元素不会报错
print(se) se = {11, 22, 33}
se.remove(11) se.remove(44) # 移除不存的元素会报错
print(se)
se = {11, 22, 33} # 移除末尾元素并把移除的元素赋给新值
temp = se.pop() print(temp) # 33
print(se) # {11, 22}
取交集
se = {11, 22, 33}
be = {22, 55}
temp1 = se.intersection(be) #取交集,赋给新值
print(temp1) # 22
print(se) # {11, 22, 33}
temp2 = se.intersection_update(be) #取交集并更新自己
print(temp2) # None
print(se) # 22
或者
交集
>>> se&be
set([22])
并集
>>> se|be
set([33, 11, 22, 55])
差集
>>> se-be
set([33, 11])
集合的转换
>>> se = set(range(4))
>>> li = list(se)
>>> tu = tuple(se)
>>> st = str(se)
>>> print (li,type(li))
([0, 1, 2, 3], <type 'list'>)
>>> print (tu,type(tu))
((0, 1, 2, 3), <type 'tuple'>)
>>> print (st,type(st))
('set([0, 1, 2, 3])', <type 'str'>)
判断
se = {11, 22, 33}
be = {22}
print(se.isdisjoint(be)) #False,判断是否不存在交集(有交集False,无交集True)
print(se.issubset(be)) #False,判断se是否是be的子集合
print(se.issuperset(be)) #True,判断se是否是be的父集合
python set 集合复习--点滴的更多相关文章
- 5月11日 ArrayList集合复习、特殊集合、枚举类型
一.ArrayList集合复习 //定义 ArrayList al = new ArrayList(); //添加元素 al.Add(); //插入元素 al.Insert(,); //查看个数 in ...
- Python 3 集合基础和概念!
Python 3 集合基础和概念! Python 3中,集合是无序的,所以不能进行切片和索引操作. 创建集合有两个方法:set()方法创建的集合是可变的,可被迭代的:frozenset()方法创建的集 ...
- Python的集合
1. Python的集合 1.1 集合的定义 在Python中, 集合set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.Python中的集合set类 ...
- Python 操作集合
Python 操作集合 集合,set,主要用于数据的关系测试和去重处理,和列表类似,可以存储数据,列表中可以存储重复的数据,但是如果转化为集合之后,数据就会进行去重,然后保留唯一值:关系测试就是求多个 ...
- Python中集合set()的使用及处理
在Python中集合(set)与字典(dict)比较相似,都具有无序以及元素不能重复的特点 1.创建set 创建set需要一个list或者tuple或者dict作为输入集合 重复的元素在set中会被自 ...
- Python:集合操作总结
集合是一组无序排列的不重复元素集 [注]:集合的最大作用是对一个序列进行去重操作 一.集合的分类 在Python中集合分为两类,为可变集合(set)和不可变集合(frozenset).对于可变集合(s ...
- python 的集合 set()操作
Python 的集合 set(),是一个无序不重复元素集,可以用于关系测试和消除重复元素. 有以下运算: 1.创建一个set ()集合: 2.add:增加集合元素 3.clea ...
- python set集合(16)
在python变量中除了以前文章所提到的整形int / 浮点数float / 布尔值bool / 列表list / 字典dict 之外,还有一个类型我们还没有做详细介绍,这个变量类型就是集合set. ...
- python frozenset集合(17)
在前一篇文章中我们对 python set集合 做了详细的讲解,而本文讲解的 frozenset集合 其实和set集合类似!区别在于frozenset集合不能修改/添加/删除,其他功能和set集合一样 ...
随机推荐
- Learning-Python【6】:Python数据类型(2)—— 列表、元组
一.列表类型 1.用途:记录多值,比如人的多个爱好 2.定义方式:在[ ]内用逗号分隔开多个任意类型的值 li = [1, 2, 3] 3.常用操作+内置方法 优先掌握的操作: 1)按索引存取值:可以 ...
- 解决 Command "python setup.py egg_info" failed with error code 1 问题
参考: "pip install unroll": "python setup.py egg_info" failed with error code 1 解决 ...
- Lintcode481-Binary Tree Leaf Sum-Easy
481. Binary Tree Leaf Sum Given a binary tree, calculate the sum of leaves. Example Example 1: Input ...
- Android外包团队——Jquery乱码解决方案
最近使用jQuery遇到中文乱码问题,其实他的中文乱码就是因为contentType没有指定编码,只需在jQuery.js中搜索’contentType’ 然后在application/x-www-f ...
- Zabbix4.0+第三方报警平台OneAlert监控报警
1. 前言 告警将重要信息发送给运维「或者其他相关人」,及时发现并且处理问题.在所有开源监控软件里面,Zabbix 的告警方式无疑是最棒的.告警的方式各式各样,从 Email 告警到飞信.139/18 ...
- Linux wc -l 统计文件行数存在的问题
1.使用这种方式效率较低,而且不注意可能出现错误 find . -name "*.pc" |xargs wc -l 直接查看 total 不是正确的值. 原因: 这种方式存在一个 ...
- vue query或params传参
1.query 传递端: this.$router.push({ path:"/AccountFP", query:{ id:row.id, userId:row.userId } ...
- trueStudio中使用printf函数
1.通过printf输出浮点数需要如下设置: 在工程属性下找到C/C++ build->Settings->Tool Settings->C Linker->Miscellan ...
- hbase大规模数据写入的优化历程 ,ZZ
http://blog.csdn.net/zbc1090549839/article/details/51582817
- 第一次作业——WorkCount
项目地址:https://gitee.com/yangfj/wordcount_project 1.软件需求分析: 撰写PSP表格: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) ...