一、什么是集合set
集合set是一个无序的不重复元素序列
常用来对两个列表进行交并差的处理性
集合支持加载不可变的数据类型,如元组、字符串、数字
表示举例:{ ‘name’ , 1 , 'xiaomu' }
二、集合与列表的区别

三、集合的创建方法
通过set函数创建,也可以使用有值的大括号创建,但不能使用空大括号 { } 创建空集合(因为会被认为是字典)

①
输出为 ![]()
②
输出为:![]()
③ ![]()
输出均报错
④
输出为:![]()
⑤
输出为:![]()
列表、字典 这两种数据类型 的数据是可以改变的
元组、字符串、数字 都是无法改变数据的数据类型
因此可见 集合加载的是 所有不可变数据的数据类型
而②为什么不报错呢 因为②使用了set 将列表中的成员(也就是字符串)放到了集合中 并不是真正把列表放进去 看其输出结果也就知道 集合里面是字符串 不是列表
输出为:![]()
说明不能用空的大括号表示空集合 会被认为是字典类型
四、集合的增删改
1、集合的add函数
用于集合中添加一个元素,如果集合中已存在该元素 则函数不执行
set.add(item) 有参数:要添加到集合的元素;无返回值

python中一切皆对象
2、集合的update函数
加入一个新的集合(或列表、元组、字符串),如新集合内的元素在原集合中存在则无视
set.update(iterable) 有参数:iterable表示集合、列表、元组、字符串;无返回值、直接作用于原集合

可以用update替代add函数,update是add的升级版
输出为:![]()
3、集合的remove函数
将集合中的某个元素删除,如元素不存在 将会报错
set.remove(item) 有参数:item是当前集合中的一个元素(注意不是索引、集合没有索引值); 无返回值 直接作用于原集合

4、集合的clear函数
清空当前集合中的所有元素
set.clear( ) 无参数 无返回值 直接作用于原集合

5、用del删除集合

6、重要说明
集合无法通过索引获取元素
集合无获取元素的任何方法
集合只是用来处理列表或元组的一种临时类型,不适合存储与传输

输出为:

五、获取两个集合的差集 difference函数
1、什么是差集
a b两个集合 由所有属于a且不属于b的元素组成的集合叫做a与b的差集

2、difference函数: a_set.difference(b_set)
返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中
函数用法:
a_set.difference(b_set) 有参数:b_set当前集合需要对比的集合;有返回值:返回原始集合与对比集合的差集(即a_set与b_set的差集)

输出为:![]()
六、获取两个或多个集合的交集 intersection
1、什么是交集

2、intersection函数:a_set.intersection(b_set......)
返回两个或多个集合中都包含的元素,即交集
用法:
a_set.intersection(b_set......) 有参数:与当前集合对比的一个或多个集合(多个集合用逗号隔开);有返回值:返回原始集合与对比集合的交集

输出为:![]()
注意:集合是无序的,不能用索引,可以把它变成列表后使用索引获取数据
七、获取两个或多个集合的并集 union函数
1、什么是并集
a,b两个集合中所有的不重复的元素 为a与b的并集

2、union函数
返回多个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次
用法:
a_set.union(b_set...) 有参数:b_set...与当前集合对比的一个或多个集合(参数也可以是列表类型的数据 准确的说 参数为ireterable);有返回值:返回原始集合与对比集合的并集

八、判断两个集合中是否有相同的元素—isdisjoint函数
a_set.isdisjoint(b_set)
判断两个集合是否包含相同的元素,如果没有相同的元素返回True,有相同的元素返回False
有参数:b_set:与当前集合用来判断的集合
有返回值:返回一个布尔值True 或 False

本文详细介绍了Python中的集合set,包括集合的定义、与列表的区别、创建方法,以及集合的增删改操作。此外,还讨论了如何获取集合的差集、交集和并集,并介绍了isdisjoint函数用于判断两个集合是否有相同元素。

1083

被折叠的 条评论
为什么被折叠?



