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(差)和 ...
随机推荐
- Xamarin.Android模拟器提示HAX kernel module is not Installed
Xamarin.Android模拟器提示HAX kernel module is not Installed 错误信息:emulator : ERROR : x86 emulation current ...
- ural 1219. Symbolic Sequence
1219. Symbolic Sequence Time limit: 1.0 secondMemory limit: 64 MB Your program is to output a sequen ...
- BZOJ3838 : [Pa2013]Raper
将选取的$A$看成左括号,$B$看成右括号,那么答案是一个合法的括号序列. 那么只要重复取出$k$对价值最小的左右括号,保证每时每刻都是一个合法的括号序列即可. 将$($看成$1$,$)$看成$-1$ ...
- JQuery LazyLoad实现图片延迟加载-探究
对于大量图片的网站,图片延迟加载是提高速度和性能的好方法. 目前图片延迟加载主要分两大块,一是触发加载(根据滚动条位置加载图片):二是自动预加载(加载完首屏后n秒后自动加载其他位置的图片).大体常用的 ...
- #region 自适应屏幕分辨率
#region 自适应屏幕分辨率 [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] public ...
- TYVJ P1053 字符串的展开 Label:字符 水
背景 NOIP2007年提高组第2道 描述 在初赛普及组的“阅读程序写结果”的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于“d-h”或“4-8”的子串,我们就把它当作一种简 ...
- BJOI2015 Day3
(wzj这蒟蒻终于滚Cu了,今天第一题SB题写+调用了1.5h,测试时还WA了一个点.第二题数位DP20分钟写完遇到鬼打墙,中间一切正常最后输出一坨负数.调了1h发现是一个数组开小了.又花了20+mi ...
- js 字符串中取得第一个字符和最后一个字符
var str = "Hello World";// 删除第一个字符 H,结果为 ello World alert(str.slice(1));// 删除最后一个字符 d,结果为 ...
- jquery限制div字符长度,超出部分已“…”显示
$(".content").each(function(){ if($(this).text().length>100){ $(this).text($(this).text ...
- DNS服务器的配置与应用: BIND9 的安装与配置
3. BIND9 的安装与配置 3.1 bind简介 BIND (Berkeley Internet Name Domain)是Domain Name System (DNS) 协议的一个实现,提供了 ...