博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python set(集合)
阅读量:7126 次
发布时间:2019-06-28

本文共 1738 字,大约阅读时间需要 5 分钟。

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。集合是一个无序的,不重复的数据组合,它的主要作用如下:去重,把一个列表变成集合,就自动去重了关系测试,测试两组数据之前的交集、差集、并集等关系集合(set):把不同的元素组成一起形成集合,是python基本的数据类型。集合元素(set elements):组成集合的成员(不可重复)>>> li=[1,2,'a','b'] >>> s =set(li)>>> print(s)             # {
1, 2, 'a', 'b'}>>> li2=[1,2,1,'a','a']>>> s=set(li2)>>> print(s) #{
1, 2, 'a'} 重复元素在set中自动被过滤: #注意,传入的参数[1, 2, 3]是一个list,而显示的{
1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素, 显示的顺序也不表示set是有序的。。集合的相关操作  1、创建集合由于集合没有自己的语法格式,只能通过集合的工厂方法set()和frozenset()创建>>> s1 = set('alvin')>>> s2= frozenset('yuan')>>> print(s1,type(s1)) #{
'l', 'v', 'i', 'a', 'n'}
>>> print(s2,type(s2)) #frozenset({
'n', 'y', 'a', 'u'})
2、访问集合由于集合本身是无序的,所以不能为集合创建索引或切片操作,只能循环遍历或使用in、not in来访问或判断集合元素。>>> s1 = set('alvin')>>> print('a' in s1) #True>>> print('b' in s1) #False>>> #s1[1] #TypeError: 'set' object does not support indexing>>> for i in s1:>>> print(i) #l i n v a3、更新集合可使用以下内建方法来更新:s.add()s.update()注意只有可变集合才能更新:>>> #s1 = frozenset('alvin')>>> #print(s1) #frozenset({
'a', 'n', 'i', 'v', 'l'})>>> #s1.add("ccdc") #AttributeError: 'frozenset' object has no attribute 'add'>>> s2 = set('alvin')>>> s2.add('mm')>>> print(s2) # {
'mm', 'l', 'n', 'a', 'i', 'v'}>>> s2.update('HO') # 添加多个元素>>> print(s2) # {
'mm', 'l', 'n', 'a', 'i', 'H', 'O', 'v'}4、删除集合s.remove()>>> s2 = set('alvin')>>> >>> print(s2) # { 'l', 'n', 'a', 'i', 'v'}>>> s2.remove('l')>>> print(s2) # {
'n', 'a', 'i', 'v'}>>> del s2 #删除集合本身 >>> print(s2) #NameError: name 's2' is not defined四、集合类型操作符 1 in ,not in2 集合等价与不等价(==, !=)3 子集、超集s=set('alvinyuan')s1=set('alvin')print('v' in s)print(s1

转载地址:http://oeeel.baihongyu.com/

你可能感兴趣的文章
python报错:AttributeError: 'builtin_function_or_method' object has no attribute 'strftime'
查看>>
[洛谷P1993]小K的农场
查看>>
转载:Service Mesh:重塑微服务市场--敖小剑
查看>>
day26 Python __getattribute__
查看>>
python装饰器
查看>>
bzoj 3196: Tyvj 1730 二逼平衡树
查看>>
Linux学习第三篇之Linux常用命令——命令格式与目录处理命令ls
查看>>
Unable to execute dex: method ID not in [0, 0xffff]: 65536
查看>>
【人生】不管你挣多少, 钱永远是问题
查看>>
过河问题
查看>>
SQL Server 批量插入数据的两种方法
查看>>
分区,grub,boot.cfg,
查看>>
C# DataSet转IList代码
查看>>
Git的一些基本概念
查看>>
tab选项卡(选择上面的菜单,下面出现对应的不同的内容)
查看>>
VS2013 创建ASP.NET MVC 4.0 未指定的错误(异常来自HRESULT: 0x80004005(e_fail))
查看>>
iOS在Cocoa Touch Static Library使用CocoaPods
查看>>
[uestc oj]H - 邱老师选妹子
查看>>
Pycharm 出现Unresolved reference '' 错误的解决方法
查看>>
pwnable.kr uaf之wp
查看>>