python--set(集合)

Python012

python--set(集合),第1张

一、创建集合

创建非空集合:集合中set括号中需要的参数的数据类型有:序列(包括字符串、列表、元组),字典可以转为集合,注意数值类型不能作为集合的参数,如int类型。

二、添加元素

add() 方法是将要添加的元素作为一个整体添加到集合中

update() 方法是把要传入的元素拆分成单个字符,存于集合中,并去掉重复的

三、删除元素

集合的删除操作使用的方法跟列表是一样的,使用的也是 remove 方法,只能单个删除

四、遍历集合

五、集合与字符串、列表、元组互转,集合转字典

六、查找元素并删除

函数原型: a.discard(b)

参数说明:a为一个set类型的变量;b表示要查找并删除的元素

函数作用:在集合setVar中查找element元素,如果存在则删除;如果没找到,则什么也不做。该函数没有返回值

七、pop用法

函数原型: set1.pop()     删除并返回集合set1中的第一个元素,如果为空引发KeyError错误+

八、clear、copy和len的用法

clear     方法用于清空集合中的所有元素

copy     方法用于集合拷贝

len     跟求序列的长度的函数len()是一样的,返回的是集合中有多少个元素

九、求集合的交集、并集、差集和difference的用法

求集合的 交集 使用的符号是 “&”

求集合的 并集 用的是符号 “|”

求集合的 差集 使用的符号是减号 “-”

difference    等价于集合的差集 ,查看两个集合的不同之处。这种不同指的是集合s1相对于集合s2,不同的地方,也就是所有在集合s1中,而不再集合s2中的的元素组成的新集合

十、运算符判断集合间关系和issuperset、issubset的用法

集合可以使用大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)、不等于(!=)来判断某个集合是否完全包含于另一个集合,也可以使用子父集判断函数。

issuperset     集合st1是否是集合st2的父集

issubset     集合st1是否是集合st2的子集

十一、不可变集合frozenset的用法

frozenset     该集合中的内容是不可改变的,其他功能及操作跟可变集合set一样

集合元素的添加操作有两种方法:

1、调用add()方法,一次添加一个元素

2、调用update()方法,至少添加一个元素

------------------------------

s={10,20,40,80}

s.add(30) #一次添加一个元素

print(s) #{10,30,20,40,80}

s.updae({200,300,400}) #一次至少添加一个元素

print(s) #{200,10,300,20,400,30,80,40}

s.update([800,900]) #可以添加列表

s.update((45,55)) #可以添加元组

print(s) #{200,5510,45,300,800,20,900,400,30,80,40}

------------------------------

集合元素的删除操作

1、调用remove()方法,一次删除一个指定元素,如果指定的元素不存在抛出KeyError

2、调用discard()方法,一次删除一个指定元素,如果指定的元素不存在不抛异常

3、调用pop()方法,一次只删除一个任意元素

4、调用clear()方法,清空集合

------------------------------

s.remove(200) #一次删除一个指定元素,如果指定的元素不存在抛出KeyError

print(s) #{55,10,45,300,800,20,900,400,30,80,40}

s.discard(900) #一次删除一个指定元素,如果指定的元素不存在不抛异常

print(s) #{55,10,45,300,800,20,400,30,80,40}

s.pop() #删除谁不知道,任意一个元素

print(s) #{55,10,45,800,20,400,30,80,40}

s.clear() #清空集合中的所有元素

print(s) #set()