【Python】集合 set ③ ( 集合常用操作 | 清空集合元素 | 获取两个集合的差集 | 消除两个集合的差集 | 获取两个集合的并集 | 计算集合元素数量 | 集合遍历 )

2023-10-11 17:48:59 浏览数 (1)

一、清空集合元素

调用 集合#clear() 函数 , 可以清空 集合 数据容器中 ;

清空集合代码示例 :

代码语言:javascript复制
"""
集合 代码示例
"""

# 集合添加新元素
names = {"Tom", "Jerry", "Jack", "Tom"}
# 上述集合中有两个 Tom 字符串, 由于 集合 不能重复, 第一个 Tom 字符串被删除
print(f"names = {names}, type = {type(names)}")
# 输出: names = {'Jack', 'Jerry', 'Tom'}, type = <class 'set'>

names.clear()
print(f"names = {names}, type = {type(names)}")
# 输出: names = set(), type = <class 'set'>

执行结果 :

代码语言:javascript复制
names = {'Tom', 'Jerry', 'Jack'}, type = <class 'set'>
names = set(), type = <class 'set'>

二、获取两个集合的差集 - 集合 A 有集合 B 没有

获取两个集合的差集 : 集合 A 有集合 B 没有

代码语言:javascript复制
集合A.difference(集合B)

该函数会得到一个新集合 , 原来的 集合 A 和 集合 B 都不变 ;

代码示例 :

代码语言:javascript复制
"""
集合 代码示例
"""

num1 = {1, 2, 3}
num2 = {2, 3, 4}

num3 = num1.difference(num2)

print(num1) # {1, 2, 3} 原有集合不变
print(num2) # {2, 3, 4} 原有集合不变
print(num3) # {1} 这是得到的新集合, num1 中有 num2 中没有

执行结果 :

代码语言:javascript复制
{1, 2, 3}
{2, 3, 4}
{1}

三、消除两个集合的差集 - 集合 A 中删除与集合 B 相同的元素

消除两个集合的差集 : 在集合 A 中删除与集合 B 相同的元素 ;

代码语言:javascript复制
集合A.difference_update(集合B)

集合 A 被改变了 , 原来的 集合 A 中删除了与集合 B 相同的元素 ;

集合 B 不变 ;

代码示例 :

代码语言:javascript复制
"""
集合 代码示例
"""

num1 = {1, 2, 3}
num2 = {2, 3, 4}

num1.difference_update(num2)

print(num1)  # {1} 原集合被改变
print(num2)  # {2, 3, 4} 参数 也就是 消除参照集合 不变

执行结果 :

代码语言:javascript复制
{1}
{2, 3, 4}

四、获取两个集合的并集 - 集合 A 与集合 B 合并

获取两个集合的并集 : 将 集合 A 与集合 B 中的元素合并到一个新集合中 ;

代码语言:javascript复制
集合A.union(集合B)

该函数会得到一个新集合 , 原来的 集合 A 和 集合 B 都不变 ;

代码示例 : 合并时 , 如果有重复元素 , 自动去重 , 每个元素只保留一个 ;

代码语言:javascript复制
"""
集合 代码示例
"""

num1 = {1, 2, 3}
num2 = {2, 3, 4}

num3 = num1.union(num2)

print(num1)  # {1, 2, 3} 原集合不变
print(num2)  # {2, 3, 4} 原集合不变
print(num3)  # {1, 2, 3, 4} 得到的新的并集集合

执行结果 :

代码语言:javascript复制
{1, 2, 3}
{2, 3, 4}
{1, 2, 3, 4}

五、计算集合元素数量 - len 函数

计算集合元素数量 : 调用 len 函数 , 计算集合的元素数量 , 其它 数据容器 也可以调用该函数 ;

代码语言:javascript复制
len(集合)

代码示例 : 下面的集合中 , 虽然写了 6 个元素 , 但是有重复元素 , 在集合中 重复元素 只能算作一个元素 , 因此 {1, 2, 3, 1, 2, 3}{1, 2, 3} 是等价的 , 元素个数都是 3 ;

代码语言:javascript复制
"""
集合 代码示例
"""

num1 = {1, 2, 3, 1, 2, 3}

count = len(num1)

print(count)  # 3

执行结果 :

代码语言:javascript复制
3

六、集合遍历

集合不支持下标索引 , 因此集合不能使用 while 循环进行遍历 ;

集合可以使用 for 循环进行遍历 ;

代码语言:javascript复制
for 临时变量 in 集合变量:
	# 对临时变量进行操作

代码示例 :

代码语言:javascript复制
"""
集合 代码示例
"""

nums = {1, 2, 3, 1, 2, 3}

for num in nums:
    print(num)

执行结果 :

代码语言:javascript复制
1
2
3

0 人点赞