一、集合的定义
集合是Python中一种无序且不重复的数据结构,使用花括号 {}
或 set()
函数定义。集合中的元素必须是不可变类型(如数字、字符串、元组等),不能包含可变类型(如列表、字典等)。集合不支持索引访问,因为其内部元素是无序存储的
集合一般可以使用花括号或者set()
# 定义集合
s1 = {1, 2, 3, 4} # 使用花括号
s2 = set([3, 4, 5, 6]) # 使用set()函数从列表转换
print(s1) # 输出: {1, 2, 3, 4}
print(s2) # 输出: {3, 4, 5, 6}
二、集合的常用方法
1.添加元素
- update:将多个元素添加到集合中,重复的元素会删去
- add:添加单个元素
s = {1, 2, 3}
s.update([4, 5, 6]) # 添加多个元素
s.add(7) # 添加单个元素
print(s) # 输出: {1, 2, 3, 4, 5, 6,7}
2.移除元素
- remove:移除指定元素,如果不存在会报错
- discard:移除指定元素,不存在不会报错
- pop:随机移除一个元素,很鸡肋
- clear:清空集合
s = {1, 2, 3, 4, 5}
s.remove(3) # 移除元素3
s.discard(10) # 尝试移除不存在的元素,不会报错
popped_item = s.pop() # 随机移除一个元素
s.clear() # 清空集合
print(s) # 输出: set()
3.集合运算
- union:返回两个集合的并集
- instersection:返回两个集合的交集
- difference:返回两个集合中没有的元素
- issubset:判断一个集合是不是另一个集合的子集
- issuperset:判断一个集合是不是另一个集合的超集
a = {1, 2, 3} b = {3, 4, 5} # 并集 print(a.union(b)) # 输出: {1, 2, 3, 4, 5} # 交集 print(a.intersection(b)) # 输出: {3} # 差集 print(a.difference(b)) # 输出: {1, 2},输出a中有,但是b中没有的值 # 子集与超集判断 c = {1, 2} print(c.issubset(a)) # 输出: True print(a.issuperset(c)) # 输出: True
三、集合的遍历
1.通过for 循环遍历
s = {'apple', 'banana', 'cherry'}
for item in s:
print(item)
# 输出可能为(顺序不固定):
# banana
# apple
# cherry