Python之集合(set)
一种语言它越便捷,开发效率越高,初学阶段就会越困难。因为语言的设计者帮你造了大量的轮子,你就要掌握如何使用这些轮子。所以,对初学Python来说,记忆的东西很多。
进入正题。
集合就像是抛弃了值(value)的字典,也就是说:
集合(set)里面只有键,而且每个键都是独一无二的,不会有重复。并且集合也是无序 的。集合的使用意义在与:把所有的元素放在集合里面,然后测试某个成员是否存在集合里。
创建集合。
st=set( )
#创建一个空集合。注意,虽然集合也是用{ },但是写成 st={ } ,st是一个空字典,而不是集合。
st={1,2,3,4,5,5} #创建并初始化集合。集合不会出现重复值,所以这个集合最终是st={1,2,3,4,5},重复的5被忽略。
st=set('12345')
#使用内建函数set()转化参数为集合,st={'1','2','3','4','5'}
st=set(['A','B','C']) #同理
特殊:将字典转化为集合
d={'Mark': 19, 'Jerry': 18}
st=set(d)
st={'Mark', 'Jerry'}
#集合只取原字典的建作为其元素的值。
集合的操作接口
len(st)
#得到集合元素个数
if ‘1’ in st:
# in 存在操作
for item in st:
#迭代
st.add( '6' )
将字符串6添加到集合st
st.update(['A','B','C'])
添加多项.
st.pop( )
#随机删除集合里的一个元素,并返回其值
st.discard('A' )
#删除集合元素'A' ,若‘A’不在集合st里,什么也不会发生
st.remove('B')
#删除指定值'B'
st.clear( )
#清空集合
st.copy( ) #返回集合 的浅拷贝
2个集合的操作
st1={1,2,3}
st2={3,4,5}
t=st1 & st2
#交集,t={3} 也可用方法:st1.intersection(st2)
t=st1 | st2
#并集 t={1,2,3,4,5} 也可方法:st1.union(st2)
t=st1 - st2
#差集 ,在st1中,但不在st2中 ,t={1,2} 方法:st1.difference(st2)
t=st1 ^ st2
#对称差 只在一个集合中存在的元素的再集合,3既存在st1,又在st2中,t={1,2,4,5}
st1<=st2
#st1含于st2吗?返回True or False 方法:st1.issubset(st2)
st1>=st2
#st1包含st2吗?返回True or False 方法: st1.issuperset(st2)
Python之集合(set)的更多相关文章
- 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集合一样 ...
- Python数据类型--集合(set)
Python的集合是无序.可迭代的容器对象,所有元素放在一对大括号中{},元素之间使用逗号隔开,同一集合内的元素具有唯一性,不允许重复. 集合中只能包含数字.字符串.元组等不可变类型的数据,不能包含列 ...
- [python]set集合学习
python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和 ...
随机推荐
- ajax的参数
http://www.w3school.com.cn/jquery/ajax_ajax.asp call.addAllremark = function(data){ $.ajax({ url:cal ...
- [LintCode] Trapping rain water II
Given n x m non-negative integers representing an elevation map 2d where the area of each cell is 1 ...
- html整理(2)
使用mailto在网页中链接Email地址 <a>标签还有一个作用是可以链接Email地址,使用mailto能让访问者便捷向网站管理者发送电子邮件.我们还可以利用mailto做许多其它事情 ...
- Codeforces Round #213 (Div. 2) B. The Fibonacci Segment
#include <iostream> #include <algorithm> #include <vector> using namespace std; in ...
- 【wikioi】1034 家园(最大流+特殊的技巧)
http://wikioi.com/problem/1034/ 太神了这题. 其实一开始我以为是费用流,但是总感觉不对. 原因是我没看到一句话,特定的时刻到达特定的点!! 也就是说,并不是每艘船每次都 ...
- 【BZOJ】1878: [SDOI2009]HH的项链(树状数组)
http://www.lydsy.com/JudgeOnline/problem.php?id=1878 我太弱了,看题解才过的. 一开始看到此题,我想了想在线做法,但之后觉得这个想法可能是错的:维护 ...
- POJ 3691 DNA repair(AC自动机+DP)
题目链接 能AC还是很开心的...此题没有POJ2778那么难,那个题还需要矩阵乘法,两个题有点相似的. 做题之前,把2778代码重新看了一下,回忆一下当时做题的思路,回忆AC自动机是干嘛的... 状 ...
- Ubuntu 12.04安装Google Chrome
详细请参照:http://hi.baidu.com/kevin276/item/29bc1c96a208fabc82d29542 至于安装之后怎么打开,在终端输入google-chrome即可打开并会 ...
- Ubuntu 14.04 AMD 64位 下 Android Studio 的安装
Ubuntu 14.04 AMD 64位 下 Android Studio 的安装 作者:yoyoyosiyu 邮箱:yoyoyosiyu@163.com 时间:2015年8月25日 Android ...
- BibTex插入Reference
1. 在tex文件中加入: \bibliographystyle{plain} %这是格式 \bibliography{reffile} % reffile.bib是reference的文件 2 ...