【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的正整數(shù)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。
?
測試數(shù)據(jù)
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}
?
數(shù)學背景
? ? ? ?集合論的研究對象是集合,像數(shù)字可以進行加減操作一樣,集合也可以進行差、并、補等基礎運算。集合運算圖示如下:


思路
? ? ? ? 這里可以自行編寫函數(shù)進行集合運算,而且并不復雜。不過,Python早已提供了多種集合運算方法,可以直接使用。
?
代碼
標簽: