集合的介绍
摘要:本内容为集合的介绍内容。
01.集合内容的基础介绍
1.1集合内容的基础信息
集合(Set):集合和列表非常相似,直接向对象中存储数据,但是也有不同。
不同点:
1.集合中只能存储不可变对象,例如字符串,数字,元组,None,True,False在集合中可以存储。若向集合中加入字典,做个列表是不可行的。
2.集合中存储的对象是无序,无序是相对于列表而言,在列表中存储数据,第一个数据放在所有位为零的位置,第二个数据放在所有为1的位置,以此类推,每个数据位置是按照所存的数据保存的。集合中不一样,第一个数据可能放在第四个,第二个放在第五个,顺序都是乱的,实际上他不是无需的。(不是按照元素的插入顺序保存)顺序与插入顺序无关。
3.集合中不能出现重复的元素,集合中不能出现两个一,两个二,两个三,两个Hello,两个ABC,不能出现重复因素,元素都是唯一的。
几何与列表很像,也有很多不同点。
查找文档:
进入有相关集合的介绍,自行浏览查阅。
创建文件:
1.2集合的特点
集合
(1)使用{ }来创建集合
S={1,2,3,4} #<Class 'Set'> 这就是一个集合 Print(s type(s))
保存执行:
若为如下:
S={10,3,5,1,2} Print(s type(s))
保存执行:
与插入顺序不一样,所说的无序数据保存的顺序与插入的顺序不同,这就是无序。
这就是集合的创建,非常简单,使用大括号。
S={10,3,5,1,2,1,2,3,1,1,1,1} Print(s type(s))
保存执行:
仅有一个1,因为集合当中元素不能够重复。所有重复的都会被去除。
S={[1,2,3],[4,6,7]} TypeError:unhashable type:'list' //在集合中保存列表 Print(s type(s))
保存执行:
报错,集合中只能存储不可变对象,列表是不可行的,只能存储数字、字符串这些,不然会报错。
若想创建空集合
S={ } 这不是空集合,这是字典。若想创建空集合,必须使用第二种set( )方法,如下。
(2)使用Set( )函数来创建集合
S=Set( ) //这是一个空集合
保存执行:此为空集合
(3)可以通过Set( )来将序列和字典转换为集合
S=Set([1,2,3,4,5,1,1,2,3,4,5])
保存执行:
重复的数字都去除,将上述列表转换为集合,书写为元组也是可行的,或者使用字符串。
S=Set(’Hello’)
保存执行:
集合中数字是不可重复的,并且是无序的,与插入顺序没有关系会自动排序。
S=Set({'a':1,b':2,'c':3})
保存执行:
使用Set( )将字典转换为集合时,只会包含字典中的键
(4)创建集合
S={'a','b',1,2,3}
保存执行:
测试集合是否通过索引来进行:
Print(s,type(s)) Print(s[0])
保存执行:
报错,集合不能够通过索引来操作,若想必须转化为列表。
如下:
Print(1ist(s)[0])
保存执行:
(5)使用In和Not in来检查集合中的元素
Print('a' in s)
保存执行:
Print('c' in s)
保存执行:
(6)使用Len( )来获取集合中元素的数量
Print(len(s))
保存执行:重复的元素,会自动去重
部分情况下想加入元素进入集合。
Print(s type(s))
保存执行:
(7)add( )向集合中添加元素
S.add(10)
保存执行:添加成功
S.add(30)
保存执行:添加成功
再次进行:
S.add(30)
保存执行:30已经添加了,就加不进去了
查看是否有返回值:
Print(s.add(30))
保存执行:此处没有返回值
(8)Update( )将一个集合中的元素添加到当前集合中
S2=set('hello') S. update(s2)
执行结果:S2为元素添加至S中,和字典的 Update一模一样
传元组:S.update((10,20,30,40))
保存执行:
S.update((10,20,30,40,50))
保存执行:
此处并不仅能传集合,序列也可行。
传字典:S.update({10:'ab',20:'bc',100:'cd',1000:'ef'})
保存执行:
注意:Update( )可以传递序列或字典作为参数,字典只会使用键
(9 )Pop( )随机删除一个集合中的元素
S.pop( )
保存执行:
再次S.pop( )
保存执行:
再次S.pop( )
保存执行:
数字顺序由Phyon解释器自行排序,无法控制,删除数据对于学习者为随机的。
Result =s.pop( ) Print(result)
保存执行:
再次:
Result =s.pop( ) Result =s.pop( ) Print(result)
保存执行:
Pop( )随机删除并返回一个集合中的元素
(10)Remove()删除集合中的指定元素
Result=s.remove(100)
保存执行:
S.remove(100)
S.remove(1000)
保存执行:
(11)Clear( )清空集合
S.clear( )
保存执行:变成空集合
(12)Copy( )对集合进行浅复制
以上是集合的常用方法,总之集合是一个不可重合的序列,其中的元素是不可重复的,列表中的元素是唯一的,可选择使用集合,整体而言,使用不多。