什么是集合
- Python语音提供的内置数据结构
- 与列表, 字典一样都属于可变类型的序列
- 集合是没有value的字典
集合的创建
s = { 'Python', 'hello', 90 }
s = set(range(6))
s = {1, 2, 3, 4, 5, 6, 7}
s1 = set(range(6))
s2 = set([1, 2, 3, 3, 4, 4, 5])
s4 = set()
集合的相关操作
- 集合元素的判断操作
- 集合元素的新增操作
- 调用add()方法,一次添加一个元素
- 调用update()方法至少添加一个元素
- 集合元素的删除操作
- 调用remove()方法, 一次删除一个指定元素, 如果指定的元素不存在,抛出KeyError
- 调用discard()方法, 一次删除一个指定元素,如果指定元素不存在不抛异常
- 调用pop()方法, 一次只删除一个任意元素
- 调用clear()方法, 清空集合
s = {1, 2, 3, 4, 5, 6, 7}
print(1 in s)
s.add(8)
s.update((8,9,0))
s.remove(0)
s.discard(1)
s.pop()
s.clear()
集合间的关系
- 两个集合是否相等
- 一个集合是否是另一个集合的子集
- 一个集合是否是另一个集合的超集
- 两个集合是否没有交集
集合的数学操作
s1 = {10, 20, 30, 40}
s2 = {20, 30, 40, 50, 60}
print(s1.intersection(s2))
print(s1 & s2)
print(s1.union(s2))
print(s1 | s2)
print(s1.difference(s2))
print(s1 - s2)
print(s1.symmetric_difference(s2))
print(s1 ^ s2)
集合生成式
{i* i for i in range(1, 10)}
s = {i * i for i in range(10)}