集合方法
add() 向集合添加元素。
clear() 删除集合中的所有元素。
copy() 返回集合的副本。
difference() 返回包含两个或更多集合之间差异的集合。
difference_update() 删除此集合中也包含在另一个指定集合中的项目。
discard() 删除指定项目。
intersection() 返回为两个其他集合的交集的集合。
intersection_update() 删除此集合中不存在于其他指定集合中的项目。
isdisjoint() 返回两个集合是否有交集。
issubset() 返回另一个集合是否包含此集合。
issuperset() 返回此集合是否包含另一个集合。
pop() 从集合中删除一个元素。
remove() 删除指定元素。
symmetric_difference() 返回具有两组集合的对称差集的集合。
symmetric_difference_update() 插入此集合和另一个集合的对称差集。
union() 返回包含集合并集的集合。
update() 用此集合和其他集合的并集来更新集合。
集合说明
集合:set 关键字 无序的不重复的元素
集合一旦创建,无法更改项目,但可以添加新项目
s1 = set() # 创建空集合
s2 = {1, 3, 7} # 和字典都用{}表示,但内含格式不一样 {value1, value1, value1}
list1 = [3, 5, 8, 9, 1, 8, 4, 2, 5, 8, 9]
s3 = set(list1)
print(s3) # {1, 2, 3, 4, 5, 8, 9} 去重并且排序
集合运算符
以下每个运算符示例行与下一行缩进行操作方法等价
运算符:- | & ^
set3 = a - b # 集合a中包含而集合b中不包含的元素
set3 = a.difference(b)
set3 = a | b # 集合a或b中包含的所有元素 并集
set3 = a.union(b)
set3 = a & b # 集合a或b中都包含了的元素 交集
set3 = a.intersection(b)
set3 = a ^ b # 不同时包含于a和b的元素 对称差集
set3 = a.symmetric_difference() #对称差集
集合操作
增添
add()
s1.add('hello')
s1.add('world')
s1.add('lucy') # 添加位置是无序的 {'world', 'hello', 'lucy'}
update()
t1 = ('mike','john')
s1.update(t1) # {'world', 'hello', 'mike', 'john', 'lucy'}
s1.add(t1) # {'hello', ('mike', 'john'), 'lucy', 'world'}
删除
remove() #元素存在则删除;不存在则报错
s1 = {'hello', ('mike', 'john'), 'lucy', 'john', 'world'}
s1.remove('john') # {'hello', ('mike', 'john'), 'lucy', 'world'}
pop()
s1.pop() # 随机删除,(对于已确定集合连续pop,删除第一项),但set是无序的,因此返回值是被删除的项目
clear()
s1.clear() #清空
discard() # 类似 remove,但在移除不存在的元素时不会报错
合并
合并:union() update()
union()
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)
print(set3)
update()
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set1.update(set2)
print(set1)