1.1集合的创建
- 使用‘{}’或是set函数创建集合,如果要创建集合则只能使用set函数。
- 集合中不能包含有重复值元素。如果创建集合或向集合中插入元素时,指定的元素具有重复值,则集合自动去除重复的元素。
- 例子
"""
功能:创建集合
作者:小小榕
日期:2022年3月28日
"""
a = set([1,12,24,32,45])
print('a的值为:', a)
- 错误原因
set()函数可以创建一个无需不重复的元素集合,这个函数至多可以传一个参数;而实例中传了五个参数,所以会报错
- 解决办法
1、set()函数直接传一个字符串 2、还可以直接传一个列表
b = set('xiaoxiaorong')
print(b)
c = set([1,32,12,11,1])
print(c)
1.2插入集合元素
- 集合中提供了两种插入元素的方法,分别是add和update。
- a.add(x):作用是把x作为一个新的元素插入到集合中,其中x必须是一个可哈希对象
- a.update(x):作用是把x拆分成多个元素后插入到集合中,x必须是可迭代对象
- 例子
"""
功能:插入集合元素
作者:小小榕
日期:2022年3月28日
"""
a = set('Python')
b= set([1,2,4,2,34])
a.add(' work')
b.update('python')
print(a)
print(b)
1.3集合的运算
- 集合提供了勇于集合运算的方法,如交、并、差、对称差
- a.intersection(b):其作用是计算a和b的交集并返回。intersection方法不会修改a,b本身的值
- a.union(b):起作用是计算a和b的并集并返回。union方法不会修改a,b本身的值
- a.difference(b):其作用是计算a和b的差集,差集是指包含在a但不包含在b中的元素组合组成的集合
- a.symmetric_difference(b):其作用是计算a和b的对称差集并返回,对称差集是指包含在a中或包含在b中的元素组成的集合
- 例子
"""
功能:集合的运算
作者:小小榕
日期:2022年3月28日
"""
a = set([1,2,23,22,4])
b = set([2,23,11,44])
c1 = a.intersection(b)
c2 = a.union(b)
c3 = a.difference(b)
c4 = a.symmetric_difference(b)
print('交集为:',c1)
print('并集为:',c2)
print('差集为:',c3)
print('对称差集为:',c1)
- 结果
1.4子集和父集
- 集合中提供了用于判断一个集合是否是另一集合子集(父集)的方法
- a.issubset(b):其作用是判断a是否是b的子集。如果是,则返回True;不是,则返回False
- a.issuperset(b):其作用是判断a是否是b的父集。如果是,则返回True;不是,则返回False
- 例子
"""
功能:判断子集和父集
作者:小小榕
日期:2022年3月28日
"""
a = set([1,2,3,4,5])
b = set([1,3])
c = set([2,3,4,5,6])
print('a是b的子集:',a.issubset(b))
print('a是b的父集:',a.issuperset(b))
print('c是b的子集:',c.issubset(b))
1.5列表、元组、字典、集合的区别
数据结构 | 是否可变 | 是否重复 | 是否有序 | 定义符号 |
---|
列表 | 可变 | 可重复 | 有序 | [ ] | 元组 | 不可变 | 可重复 | 有序 | ( ) | 字典 | 可变 | 可重复 | 有序 | {key,value} | 集合 | 可变 | 不可重复 | 无序 | { } |
1.6集合中的其他方法
clear清空集合
"""
功能:clear清空
作者:小小榕
日期:2022年3月28日
"""
a = {1,2,3,4,5}
a.clear()
print(a)
copy返回集合的拷贝
"""
功能:copy返回集合的拷贝
作者:小小榕
日期:2022年3月28日
"""
a = {1,2,3,4,5}
new_a = a.copy()
print(new_a)
remove删除集合中的一个元素
"""
功能:remove删除集合中的一个元素
作者:小小榕
日期:2022年3月28日
"""
a = {1,2,3,4,5}
a.remove(4)
print(a)
isdisjoint
"""
功能:isdisjoint
作者:小小榕
日期:2022年3月28日
"""
a = {1,2}
b = {3,4}
c = {4,5}
print(a.isdisjoint(b))
print(b.isdisjoint(c))
difference_update
"""
功能:difference_update
作者:小小榕
日期:2022年3月28日
"""
a = {3,4}
b = {4,5}
print(a.difference_update(b))
|