Python 动手练:集合

集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合。

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

集合最好的应用就是去重,因为集合中的每个元素都是唯一的。

建议:根据提示完成练习后,再参考文末示例代码。

练习 1:向集合中添加列表元素

编写一个程序,将一个列表中的元素,添加到给定的集合中。

例:

set1 = {1,2,3}

list1 = [3,4,5]

输出:

{1, 2, 3, 4, 5}

提示

使用集合的 update()方法。

重复元素被去掉。

练习 2:集合的交集

编写一个程序,从两个集合中找出相同的元素。

例:

set1 = {10, 20, 30}

set2 = {20, 30, 40}

输出:

{20, 30}

提示

使用集合的 intersection()方法。

intersection() 方法用于返回两个或更多集合中都包含的元素,即交集。

还可以使用运算符 & 计算交集。

练习 3:集合的并集

编写一个程序,通过删除重复项来返回包含两个集中唯一项的新集。

例:

set1 = {10, 20, 30}

set2 = {20, 30, 40}

输出:

{20, 40, 10, 30}

提示

使用集合的 union() 方法。

union() 方法返回两个集合的并集,即包含了所有集合的元素,重复的元素只会出现一次。

还可以使用运算符 | 计算并集。

练习 4:集合的差集

编写一个程序,返回两个集合中不重复的元素集合。

例:

set1 = {10, 20, 30}

set2 = {20, 30, 40}

输出:

{10}

提示

使用集合的 difference() 方法。

difference() 方法用于返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合中。

还可以使用运算符 - 计算差集。

练习 5:集合的对称差集

编写一个程序,返回两个集合中不重复的元素集合。

例:

set1 = {10, 20, 30}

set2 = {20, 30, 40}

输出:

{10, 40}

提示

使用集合的 symmetric_difference() 方法。

symmetric_difference() 方法返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。

# 练习 1
set1 = {1,2,3}
list1 = [3,4,5]
set1.update(list1)
print(set1)
# 练习 2
set1 = {10, 20, 30}
set2 = {20, 30, 40}
print(set1.intersection(set2))
# 练习 3
set1 = {10, 20, 30}
set2 = {20, 30, 40}
print(set1.union(set2))
# 练习 4
set1 = {10, 20, 30}
set2 = {20, 30, 40}
print(set1.difference(set2))
# 练习 5
set1 = {10, 20, 30}
set2 = {20, 30, 40}
print(set1.symmetric_difference(set2))

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!