Python 集合(set)是无序的、不重复的,集合中的元素必须是可哈希(hashable)的,例如数字、字符串和元组(不含可变对象,其相关函数及其用法如下:
1. 创建集合{ }或set( )
s={1, 2, 3}
or
s=set([1, 2, 3])
print(s)
#输出:{1, 2, 3}
2.for 遍历集合
s={1, 2, 3}
for i in s:
print(i)
#输出:1,2,3
3.in 检查该元素是否在集合中
s={1, 2, 3}
if 1 in s:
print('Yes')
else:
print('No')
#输出:Yes
4. add( )添加元素
s={1, 2, 3}
s.add(4)
print(s)
#输出:{1, 2, 3, 4}
5.update( ) 添加多个元素
s={1, 2, 3}
s.update([4, 7, 9])
print(s)
#输出:{1, 2, 3, 4, 7, 9}
#注意存在中括号
6.remove( )删除指定元素
s={1, 2, 3}
s.remove(2)
print(s)
#输出:{1,3}
当元素不存在,则抛出 KeyError
7.discard( )删除指定元素
s={1, 2, 3}
element=s.discard(2)
print(s)
#输出:{1,3}
当元素不存在,不会报错
8.pop( ) 删除随机元素
s={1, 2, 3}
element=s.pop()
print(element)
#输出:1
print(s)
#输出:{2, 3}
#集合无序,无法确定删除元素是哪个,返回的值是被删除的元素
9.clear( ) 清除集合
s={1, 2, 3}
s.clear()
print(s)
#输出:set()
10. 集合推导式
# 创建一个新集合,包含原集合中的平方值
orginal_s = {1, 2, 3, 4}
s = {x**2 for x in original_set}
or
s={x**2 for x in range(5)}
print(s)
#输出:{0, 1, 4, 9, 16}
11. 集合操作
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
(1).交集
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
intersection = set1.intersection(set2) or intersection = set1 & set2
print(intersection)
#输出:{3, 4}
(2). 并集
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
union = set1.union(set2) or union = set1 | set2
print(union)
#输出:{1, 2, 3, 4, 5, 6}
(3).差集
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
difference = set1.difference(set2) or difference = set1 - set2
print(difference)
#输出:{1, 2}
(4). 对称差集
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
symmetric_difference = set1.symmetric_difference(set2)
or
symmetric_difference = set1 ^ set2
print(symmetric_difference)
#输出:{1, 2, 5, 6}