集合

语法

集合是一种无序且不重复的数据结构,用于存储多个元素。它使用花括号 {} 来表示,并且元素之间使用逗号 , 分隔。以下是创建集合的基本语法:
my_set = {element1, element2, ...}
其中,element 可以是任意类型的对象。

需要注意的是,如果只使用一个空的花括号 {} 来创建一个变量,那么它将被解释为一个空字典而不是空集合。要创建一个空集合,可以使用 set() 构造函数。

常用: 集合方法:
1. add(element): 向集合中添加一个元素。
2. remove(element): 从集合中删除一个指定的元素,如果元素不存在,则会引发 KeyError。
3. discard(element): 从集合中删除一个指定的元素,如果元素不存在,则不执行任何操作。
4. pop(): 随机删除并返回集合中的一个元素。
5. clear(): 清空集合,删除所有元素。
6. copy(): 创建集合的副本。
7. len(): 返回集合中元素的数量。
8. in: 检查指定元素是否存在于集合中。

此外,集合还支持各种数学操作,如交集、并集、差集等。例如:
1. intersection(other_set): 返回与另一个集合的交集。
2. union(other_set): 返回与另一个集合的并集。
3. difference(other_set): 返回与另一个集合的差集。
4. symmetric_difference(other_set): 返回与另一个集合的对称差集。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
'''
集合是一种无序且不重复的数据结构,用于存储多个元素。它使用花括号 {} 来表示,并且元素之间使用逗号 , 分隔。以下是创建集合的基本语法:
    my_set = {element1, element2, ...}
其中,element 可以是任意类型的对象。
 
需要注意的是,如果只使用一个空的花括号 {} 来创建一个变量,那么它将被解释为一个空字典而不是空集合。要创建一个空集合,可以使用 set() 构造函数。
 
常用: 集合方法:
    1. add(element): 向集合中添加一个元素。
    2. remove(element): 从集合中删除一个指定的元素,如果元素不存在,则会引发 KeyError。
    3. discard(element): 从集合中删除一个指定的元素,如果元素不存在,则不执行任何操作。
    4. pop(): 随机删除并返回集合中的一个元素。
    5. clear(): 清空集合,删除所有元素。
    6. copy(): 创建集合的副本。
    7. len(): 返回集合中元素的数量。
    8. in: 检查指定元素是否存在于集合中。
 
此外,集合还支持各种数学操作,如交集、并集、差集等。例如:
    1. intersection(other_set): 返回与另一个集合的交集。
    2. union(other_set): 返回与另一个集合的并集。
    3. difference(other_set): 返回与另一个集合的差集。
    4. symmetric_difference(other_set): 返回与另一个集合的对称差集。
 '''
 
# 1. 创建一个集合
empty_set = set()  # 创建一个空集合
my_set = {1, 2, 3, 4, 5}
 
# 2. 添加元素
my_set.add(6)
my_set.add(6# 集合有去重的作用,添加2次,只会有1个
my_set.update('Allen'# 追加的数据是序列
my_set.update([88, 66])  # 追加的数据是序列
print(my_set)  # {1, 2, 3, 4, 5, 6, 'e', 66, 'n', 88, 'A', 'l'}  ,集合是无序的
 
# 3. 删除元素:因为集合无序,只能通过元素来删除
my_set.remove(3# 删除指定元素,eg:删除元素3
# my_set.remove(333)  # 如果删除元素,不存在,会报错KeyError: 333
my_set.discard(333# 删除集合中的指定数据,如果数据不存在也不会报错。
 
# 如果集合为空,再调用pop()方法将引发KeyError异常。因此,在使用pop()方法之前,最好先检查集合是否为空。
del_element = my_set.pop()  # 随机删除一个元素,并返回删除的数据
 
# 4. 遍历集合
for element in my_set:
    print(element)
 
# 5. 获取集合元素的个数
print(len(my_set))  # 输出集合的长度
 
# 6. 检查元素是否存在,也可以使用not in
if 4 in my_set:
    print('4 is present in the set.')
 
# 7. 创建集合的副本
new_set = my_set.copy()

  

1 # 8. 对列表去除
2 my_list = [2, 2, 3, 3]
3 my_set = set(my_list)
4 print(my_set)

 

复制代码
 1 '''
 2 集合的差集 ,并集,交接,对称差集
 3 '''
 4 
 5 # 1. 差集使用difference:使用difference()方法可以获取一个集合相对于另一个集合的差集。
 6 set1 = {1, 2, 3, 4, 5}
 7 set2 = {4, 5, 6, 7, 8}
 8 
 9 difference = set1.difference(set2)
10 print(difference)  # 输出: {1, 2, 3} 即set1-set2剩余的元素
11 
12 # 2. 交集(Intersection):intersection获取2个集合的交集
13 intersection = set1.intersection(set2)
14 print(intersection)  # 输出: {4, 5}
15 
16 # 3. 使用union()方法可以获取两个集合的并集
17 union = set1.union(set2)
18 print(union)  # 输出: {1, 2, 3, 4, 5, 6, 7, 8}
19 
20 # 4. 对称差集(Symmetric Difference): 使用symmetric_difference()方法可以获取两个集合的对称差集。
21 # 对称差集就是收集:2个集合的并集 - 2个集合的交接
22 symmetric_difference = set1.symmetric_difference(set2)
23 print(symmetric_difference)  # 输出: {1, 2, 3, 6, 7, 8}
24 
25 # 5. 也可以使用 & | ^ 代表交集\并集\对称差集
26 intersection = set1 & set2  # 交集
27 union = set1 | set2  # 并集
28 symmetric_difference = set1 ^ set2  # 对称差集
复制代码

 

posted @   Allen_Hao  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示