【ROSALIND】【练Python,学生信】50 集合操作初探

如果第一次阅读本系列文档请先移步阅读【ROSALIND】【练Python,学生信】00 写在前面 谢谢配合~

题目:
集合操作初探(Introduction to Set Operations)
Given: A positive integer n (n≤20,000) and two subsets A and B of {1,2,…,n}.
所给:一个小于等于20000的正整数n及{1,2,…,n}的两个子集A和B。
Return: Six sets: A∪B, A∩B, A−B, B−A, Ac, and Bc (where set complements are taken with respect to {1,2,…,n}).
需得:以下六个集合:A和B的并集A∪B,A和B的交集 A∩B,差集 A−B、 B−A,补集Ac、Bc。
测试数据
10
{1, 2, 3, 4, 5}
{2, 8, 5, 10}
测试输出
{1, 2, 3, 4, 5, 8, 10}
{2, 5}
{1, 3, 4}
{8, 10}
{8, 9, 10, 6, 7}
{1, 3, 4, 6, 7, 9}
数学背景
集合论的研究对象是集合,像数字可以进行加减操作一样,集合也可以进行差、并、补等基础运算。集合运算图示如下:


思路
这里可以自行编写函数进行集合运算,而且并不复杂。不过,Python早已提供了多种集合运算方法,可以直接使用。
代码