欢迎光临散文网 会员登陆 & 注册

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

2020-12-28 20:21 作者:未琢  | 我要投稿

如果第一次阅读本系列文档请先移步阅读【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早已提供了多种集合运算方法,可以直接使用。

 

代码



【ROSALIND】【练Python,学生信】50 集合操作初探的评论 (共 条)

分享到微博请遵守国家法律