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