-
什么是结合
-
集合(set)是一个无序的不重复元素序列
-
常用来对两个列表进行交并差处理
-
集合与列表一样,支持所有数据类型
-
{'name',1,'ckk',3.21,True}
-
-
集合与列表的区别
-
集合的创建方法
-
通过set函数来创建集合,不能使用{}来创建空集合
-
set_data = {'name', 1, 'ckk', 3.21, True} print(set_data) #不能使用{}来创建空集合 sets_data = {} print(type(sets_data)) # <class 'dict'>
-
-
集合的add函数
-
用于集合中添加一个元素,如果集合中已存在该元素则该函数不执行
-
用法:
-
set.add(item)
-
-
参数
- item:要添加到集合中的元素
-
返回值
- 无返回值
-
示例代码:
-
set_data = {'name', 1, 'ckk', 3.21, True} set_data.add('age') print(set_data) # {1, 'ckk', 3.21, 'name', 'age'} #集合中已经存在age,则无法添加 不可重复 set_data.add('age') print(set_data) # {1, 'ckk', 3.21, 'name', 'age'}
-
-
-
集合的update函数
-
加入一个新的集合(或列表,元组),如新集合内的元素在元集合中存在则无视
-
用法:
-
set.update(iterble)
-
-
参数:
- iterable:一个集合或列表或元组
-
返回值:
- 无返回值,直接作用于原集合
-
示例代码:
-
set_data = {'name', 1, 'ckk', 3.21, True} set_data.update(['a', 'v']) print(set_data) # {1, 'ckk', 3.21, 'a', 'v', 'name'}
-
-
-
集合的remove函数
-
将集合中的某个元素删除,如元素不存在将会报错。
-
用法:
-
set.remove(item) # 注意是元素不是索引
-
-
参数:
- item:当前集合中的一个元素
-
返回值:
- 无返回值,直接作用于原集合
-
示例代码:
-
set_data = {'name', 1, 'ckk', 3.21, True} set_data.remove('name') print(set_data) # {3.21, 1, 'ckk'}
-
-
-
集合的clear函数
-
清空当前集合中的所有元素
-
用法:
-
set.clear()
-
-
参数:
- 无
-
返回值:
- 无返回值,直接作用于原集合
-
示例代码:
-
set_data = {'name', 1, 'ckk', 3.21, True} set_data.clear() print(set_data) # set()
-
-
-
用del删除集合
-
set_data = {'name', 1, 'ckk', 3.21, True} del set_data #删除了set_data对象,所以打印会报错 print(set_data) # NameError: name 'set_data' is not defined
-
-
重要说明
- 集合无法通过索引获取元素
- 集合无获取元素的任何方法
- 集合只是用来处理列表或元组的一种临时类型,他不适合存储与传输
-
什么是差集
- a,b两个集合,由所有属于a且不属于b的元素组成的集合,叫做a与b的差集
-
difference的功能
- 返回集合的差集,既返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中。
-
difference的用法
-
用法:
-
a_set.difference(b_set)
-
-
参数:
- b_set:当前集合需要对比的集合
-
返回值:
- 返回原始集合对于比集合的差集(即a_set与b_set的差集)
-
-
示例代码:
-
a_list={'name',12,13} b_list={'name',1212,1212} print(a_list.difference(b_list))#{12, 13}
-
-
什么是交集
- a,b两个集合分别拥有的相同的元素集,称为a与b的交集
-
intersection的功能
- 返回两个或更多集合中都包含的元素,既交集
-
intersection的用法
-
用法:
-
a_set.intersection(b_set)
-
-
参数:
- b_set:与当前集合对比的1或多个集合
-
返回值:
- 返回原始集合与对比集合的交集
-
-
示例代码:
-
a_list={'name',12,13} b_list={'name',1212,1212} print(a_list.intersection(b_list))#{'name'}
-
-
什么是并集
- a,b两个集合中所有的元素(去掉重复)即为a与b的并集
-
union的功能
- 返回多个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。
-
union的用法
-
用法:
-
a_set.union(b_set)
-
-
参数:
- b_set:与当前集合对比的1或多个集合
-
返回值:
- 返回原始集合与对比集合的并集
-
-
示例代码:
-
a_list={'name',12,34} b_list={'name',56,78} print(a_list.union(b_list))#{34, 'name', 56, 12, 78}
-
-
isdisjoint的功能
- 判断两个集合是否包含相同的元素,如果没有返回True,否则返回False
-
isdisjoint的用法
-
用法:
-
a_set.isdisjoint(b_set)
-
-
参数:
- b_set:与当前集合用来判断的集合
-
返回值:
- 返回一个布尔值True或False
-
-
示例代码:
-
a_list={'name',12,34} b_list={'name',56,78} print(a_list.isdisjoint(b_list))#False
-