1.定义
集合:无序,不重复的元素序列
集合内的元素不会重复,可以进行交集,差集,并集之类的集合操作
2.创建集合
set1 = {1, 2, 3} # 大括号直接创建
set2 = set([1, 2, 3, 4]) # 使用set函数从列表创建
注意:创建一个空集合必须使用set()函数,因为空{ }用来创建字典
3.集合的简单应用
- 去重功能
set1 = {"aaa", "bbb", "ccc", "aaa"}
print(set1)
结果:
{'ccc', 'bbb', 'aaa'}
- 快速判断元素是否在集合里
set1 = {"aaa", "bbb", "ccc", "aaa"}
print("aaa" in set)
结果:
True
- 集合间的快速运算
set_a = set("abcdef")
set_b = set("cdefgh")
print(set_a)
print(set_b)
结果:
{'b', 'e', 'a', 'c', 'f', 'd'}
{'e', 'h', 'c', 'd', 'f', 'g'}
# 集合a,b中都存在的数据
print(set_a & set_b)
# 集合a中存在集合b中不存在
print(set_a - set_b)
# 集合a,集合b中包含的所有元素
print(set_a | set_b)
# 集合a,集合b中都存在的元素
print(set_a ^ set_b)
结果:
{'d', 'c', 'f', 'e'}
{'b', 'a'}
{'b', 'h', 'a', 'c', 'f', 'd', 'g', 'e'}
{'g', 'b', 'h', 'a'}
支持集合推导式:
python a = {x for x in 'abcdef' if x not in 'abc'}
print(a)
结果:
{'e', 'f', 'd'}
4. 集合的简单操作
添加元素
s.add(x) # 向集合s中添加元素x,已经存在将不会进行任何操作
s.update( x ) # 向s中添加元素,单s可以是列表,字典,集合等
移除元素
s.remove( x ) # 移除集合中的元素x,元素不存在报错
s.discard( x ) # 移除集合中的元素x,元素不存在不会报错
s.pop() # 随机删除集合中的一个元素
集合长度
length = len(s)
清空集合
s.clear()
判断元素是否在集合中存在
x in s
# 判断元素x是否在s中存在,存在返回True,否则返回False