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(差)和 ...
随机推荐
- Repeatless Numbers[POJ2956]
Repeatless Numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1719 Accepted: 726 ...
- BZOJ2874 : 训练士兵
设$a[i][j]$表示$(i,j)$右下角要增加多少 $aj[i][j]=a[i][j]\times j$ $ai[i][j]=a[i][j]\times i$ $aij[i][j]=a[i][j] ...
- BZOJ3837 : [Pa2013]Filary
当m取2时,k至少为$\frac{n}{2}$ 所以在最优解中每个数被选中的概率至少为$\frac{1}{2}$ 每次随机选取一个位置i,计算出其它数与$a_i$的差值,将差值分解质因数 所有质因数中 ...
- C#线程间同步无法关闭
用C#做了个线程间同步的小程序,但每次关闭窗口后进程仍然在,是什么原因? 解决方法: 要加一句 线程.IsBackground = true; 否则退出的只是窗体 上面的方法没看懂... MSDN上说 ...
- Google Code Jam 2010 Round 1B Problem A. File Fix-it
https://code.google.com/codejam/contest/635101/dashboard#s=p0 Problem On Unix computers, data is s ...
- td也可以溢出隐藏显示
或许我这篇文章一取这样的名字,就会有人要问了:你怎么还在关注table啊,那早就过时了…赶紧Xhtml…div好…ul好…ol好…dl好…完了,不知道还有什么好了. table真的过时了么?你真的了解 ...
- iOS开发中常见的问题
1.重复调用2次loadView和viewDidLoad 最好不要在UIViewController的loadView方法中改变状态栏的可视性(比如状态栏由显示变为隐藏.或者由隐藏变为显示),因为 ...
- github配置
注册github账号: 准备秘钥文件: 认证: https://github.com 测试秘钥: 创建仓库: 执行下面命令创建git远程仓库: 添加一个two.txt文件:
- _jobdu_1002
/************************************************************************/ /* 题目1002:Grading 时间限制:1 ...
- android之发送短信程序
首先改写activity_main.xml文件 代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/re ...