python 数据类型set集合
- 1、集合的特性
- 2、集合之间的逻辑关系
- 2.1、并集
- 2.2、交集
- 2.3、差集
- 3、集合常用的方法
- 3.1、add() 向集合中添加元素
- 3.2、clear() 清空集合
- 3.3、copy() 复制集合
- 3.4、discard() 删除集合中指定的元素,该元素不存在不会报错
- 3.5、remove() 删除集合中指定的元素,该元素不存在报错
- 3.6、pop() 随机删除集合中一个元素
- 3.7、update() 更新集合,把‘参数’添加到集合中
- 3.8、union() 并集,返回这个并集
- 3.9、intersection() 求交集 ,返回这个交集
- 3.10、difference() 求差集,返回调用difference()方法的集合差集
- 3.11、difference_update() 求差集,还会删除交集的部分
- 3.12、intersection_update() 求交集,还会删除差集的部分
- 3.13、symmetric_difference() 求差集,返回所有集合不相同的
- 3.14、symmetric_difference() 求差集,把y中x没有的,都添加到x中
- 3.15、isdisjoint() 判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
- 3.16、issubset() 判断指定集合是否为该方法参数集合的子集。
- 3.17、issuperset() 判断该方法的参数集合是否为指定集合的子集
1、集合的特性
1、集合中的元素是独一无二
2、集合不能用 连接符“+” 连接两个集合
3、集合是可变类型
4、集合是无序的,所以不能切片
5、空集合用set()定义,不能用{},{}定义的是空字典
2、集合之间的逻辑关系
2.1、并集
2.2、交集
2.3、差集
3、集合常用的方法
3.1、add() 向集合中添加元素
x = {1,2,3,4,5}
x.add('a')
print(x) # {1, 2, 3, 4, 5, 'a'}
3.2、clear() 清空集合
x = {1,2,3,4,5}
x.clear()
print(x) # set()
3.3、copy() 复制集合
x = {1, 2, 3, 4, 5}
a = x.copy()
print(a) # {1, 2, 3, 4, 5}
3.4、discard() 删除集合中指定的元素,该元素不存在不会报错
x = {1, 2, 3, 4, 5}
x.discard(3)
x.discard(8) # 被删除的对象不再集合中也不会报错
print(x)
3.5、remove() 删除集合中指定的元素,该元素不存在报错
x = {1, 2, 3, 4, 5}
x.remove(2)
print(x) #{1, 3, 4, 5}
x.remove(8) # 删除的元素,集合中不存在,报错KeyError: 8
# Traceback (most recent call last):
# File "D:/manager_project/ShoppingMall/test_study.py", line 84, in <module>
# x.remove(8)
# KeyError: 8
3.6、pop() 随机删除集合中一个元素
x = {1, 2, 3, 4, 5}
x.pop()
print(x) # {2, 3, 4, 5}
3.7、update() 更新集合,把‘参数’添加到集合中
注意:update( **iter ) 参数必须是迭代对象
x = {1, 2, 3, 4, 5}
x.update({'a','b','c'})
x.update(('v','vv'))
print(x) # {1, 2, 3, 4, 5, 'b', 'v', 'vv', 'c', 'a'}
3.8、union() 并集,返回这个并集
x = {1,2,3,4,5}
y = {1,2,6,7,8}
z = x.union(y) # 求集合x与集合y的并集,并返回一个新集合
print(z) #{1, 2, 3, 4, 5, 6, 7, 8}
3.9、intersection() 求交集 ,返回这个交集
x = {1,2,3,4,5}
y = {1,2,6,7,8}
z = x.intersection(y)
print(z) # {1, 2}
3.10、difference() 求差集,返回调用difference()方法的集合差集
x = {1,2,3,4,5}
y = {1,2,6,7,8}
z = x.difference(y) # 求集合x与集合y的差集,返回集合x中集合y没有的元素
print(z) # {3, 4, 5}
3.11、difference_update() 求差集,还会删除交集的部分
x = {1,2,3,4,5}
y = {1,2,6,7,8}
x.difference_update(y)
print(x) # {3, 4, 5}
3.12、intersection_update() 求交集,还会删除差集的部分
x = {1,2,3,4,5}
y = {1,2,6,7,8}
x.intersection_update(y)
print(x) # {1, 2}
3.13、symmetric_difference() 求差集,返回所有集合不相同的
x = {1,2,3,4,5}
y = {1,2,6,7,8}
z = set.symmetric_difference(x,y)
print(z) # {3, 4, 5, 6, 7, 8}
3.14、symmetric_difference() 求差集,把y中x没有的,都添加到x中
x = {1,2,3,4,5}
y = {1,2,6,7,8}
x.symmetric_difference_update(y)
print(x) # {3, 4, 5, 6, 7, 8}