溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中怎么實現(xiàn)數(shù)學(xué)集合運算

發(fā)布時間:2021-07-05 17:56:36 來源:億速云 閱讀:261 作者:Leah 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)Python中怎么實現(xiàn)數(shù)學(xué)集合運算,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

‘union()’

返回一個新集合,其中包含該set和other集合中的元素,使用union()或“|“算子。

語法:

union(*others) set | other | ...

Python中怎么實現(xiàn)數(shù)學(xué)集合運算

示例1:找到兩個集合的并集—A和B

返回一個包含集合A和集合B中的元素的新集合。但元素不會重復(fù),集合中的所有元素都是唯一的。

A={1,2,3,4,5} B={2,4,6,8} print (A.union(B))#Output:{1, 2, 3, 4, 5, 6, 8} print (A|B)#Output:{1, 2, 3, 4, 5, 6, 8}

示例2:查找兩個以上集合的并集

A={1,2,3,4,5} B={2,4,6,8,10} C={1,3,5,7,9} print (A|B|C)#Output:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} print (A.union(B,C))#Output:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

union()方法和|之間的區(qū)別:

  • union():接受任何可迭代的參數(shù)

  • |運算符:僅接受set作為參數(shù),否則將引發(fā)TypeError。

示例3:在union()方法中將iterable用作參數(shù)

A={1,2,3,4,5} #iterable is given as list print (A.union([2,4,6]))#Output:{1, 2, 3, 4, 5, 6} #iterable is given as tuple print (A.union((2,4,6)))#Output:{1, 2, 3, 4, 5, 6} #iterable is given as range object print (A.union(range(5,10)))#Output:{1, 2, 3, 4, 5, 6, 7, 8, 9} #iterable is given as a dictionary print (A.union({'a':6,'b':7}))#Output:{1, 2, 3, 4, 5, 'b', 'a'}

示例4:為|提供參數(shù)iterable

A={1,2,3,4,5} B=[1,2,3] print (A|B) #Output:TypeError: unsupported operand type(s) for |: 'set' and 'list'

‘update()’

更新集合,并從other集合中添加元素,元素不會重復(fù),集合中的所有元素都是唯一的。通過使用update()  或使用|=運算符來執(zhí)行,返回類型為None,將修改原始集本身。

語法:

update(*others) set |= other | ...

示例1:在A和B兩個集合之間調(diào)用update()

通過添加兩個集合中的元素來更新集合A。

#update() A={1,2,3,4,5} B={4,5,6,7,8} print (A.update(B)) #Output: None print (A) #Output: {1, 2, 3, 4, 5, 6, 7, 8}A={1,2,3,4,5} B={4,5,6,7,8} A|=B print (A) #Output: {1, 2, 3, 4, 5, 6, 7, 8}

示例2:在兩個以上集合之間調(diào)用update()

#update() A={1,2,3} B={3,4,5} C={5,6,7} print (A.update(B,C)) #Output: None print (A) #Output: {1, 2, 3, 4, 5, 6, 7} A={1,2,3} B={3,4,5} C={5,6,7} A|=B|C print (A) #Output: {1, 2, 3, 4, 5, 6, 7}

update() 方法和|=運算符之間的區(qū)別:

  • update() :接受任何可迭代的參數(shù)。

  • =運算符:僅接受set作為參數(shù),否則將引發(fā)TypeError。

示例3:在update() 方法中將iterable用作參數(shù)

A={1,2,3} #iterable is given as list print (A.update([2,3,4]))#Output:None print (A)#Output:{1,2,3,4} #iterable is given as tuple A={1,2,3} A.update((2,3,4)) print (A)#Output:{1,2,3,4} #iterable is given as range object A={1,2,3} A.update(range(2,5)) print (A)#Output:{1,2,3,4} #iterable is given as a dictionary A={1,2,3} A.update({2:'a',3:'b'}) print (A) #Output:{1, 2, 3}

示例4:為|=運算符提供參數(shù)iterable:

#iterable is given as tuple A={1,2,3} B=(3,4) A|=B#Output:TypeError: unsupported operand type(s) for |=: 'set' and 'tuple'

‘intersection()’

返回一個具有該集合和other集合共同元素的新集合,通過intersection()或使用&運算符來執(zhí)行。

語法:

intersection(*others) set & other & ...

Python中怎么實現(xiàn)數(shù)學(xué)集合運算

示例1:找到兩個集合的交集—A和B

返回一個新集合,其中包含集合A和集合B中的共同元素。

A={1,2,3,4,5} B={2,4,6,8} #intersection is performed by intersection() method or & operator print (A.intersection(B))#Output:{2,4} print (A&B)#Output:{2,4}

示例2:找到兩個以上的交集

A={1,2,3,4,5} B={2,4,6,8,10} C={2,4} print (A&B&C)#Output:{2,4} print (A.intersection(B,C))#Output:{2,4}

intersection()方法和&運算符之間的區(qū)別:

  • intersection():接受任何可迭代的參數(shù)。

  • &運算符:僅接受set參數(shù),否則將引發(fā)TypeError。

示例3:在intersection()方法中將iterable用作參數(shù)

A={1,2,3,4,5} #iterable is given as list print (A.intersection([1,4,6]))#Output:{1,4} #iterable is given as tuple print (A.intersection((2,4,6)))#Output:{2,4} #iterable is given as range object print (A.intersection(range(5,10)))#Output:{5} #iterable is given as a dictionary print (A.intersection({1:'a','b':7}))#Output:{1}

示例4:為&運算符提供參數(shù)iterable

A={1,2,3,4,5} B=[1,2,3] print (A&B) #Output:TypeError: unsupported operand type(s) for &: 'set' and 'list'

‘intersection_update()’

更新集合,只保留集合和other中共同的元素。可以通過使用  intersection_update()或使用&=運算符來執(zhí)行,返回類型為None,將修改原始集本身。

語法:

intersection_update(*others) set &= other & …

示例1:找到兩個集合A和B之間的 intersection_update()

通過僅保留在兩個集合中找到的元素來更新集合A。

#intersection_update() A={1,2,3,4,5} B={4,5,6,7,8} print (A.intersection_update(B)) #Output: None print (A) #Output: {4,5}A={1,2,3,4,5} B={4,5,6,7,8} A&=B print (A) #Output: {4,5}

‘difference()’

返回一個去除other中元素之后的新集合,通過difference() 或使用-運算符來執(zhí)行。

語法:

difference(*others) set - other - ...

5A9ce2dee869952e2e78.png" target="_blank"><img src="https://s1.51cto.com/oss/202009/30/7b2fc3539a675A9ce2dee869952e2e78.png" alt="" title="" width="auto" height="auto" border="0">

示例1:找出A和B兩組之間的差異

返回一個新集合,其中包含在集合A而不在集合B中的元素。

A={1,2,3,4,5} B={2,4,6,8} print (A.difference(B))#Output:{1,3,5} print (A-B)#Output:{1,3,5}

示例2:找出兩個以上集合之間的差異

A={1,2,3,4,5} B={2,4,6,8,10} C={2,3} print (A-B-C)#Output:{1,5} print (A.difference(B,C))#Output:{1,5}

difference()方法和-運算符之間的區(qū)別:

  • difference():接受任何可迭代的參數(shù)

  • -運算符:僅接受set作為參數(shù)。否則將引發(fā)TypeError。

示例3:在difference()方法中將iterable作為參數(shù)

A={1,2,3,4,5} #iterable is given as list print (A.difference([1,2,3]))#Output:{4,5} #iterable is given as tuple print (A.difference((1,2,3)))#Output:{4,5} #iterable is given as range object print (A.difference(range(1,4)))#Output:{4,5} #iterable is given as a dictionary print (A.difference({1:'a',2:'b',3:'c'}))#Output:{4,5}

示例4:為-運算符提供參數(shù)iterable

A={1,2,3,4,5} B=[1,2,3] print (A-B) #Output:TypeError: unsupported operand type(s) for -: 'set' and 'list'

&lsquo;difference_update()&rsquo;

從other集合中刪除該集合中的元素,通過使用-= 運算符或使用difference_update()  方法來執(zhí)行,返回類型為None,將修改原始集本身。

句法:

difference_update(*others) set -= other | ...

Python中怎么實現(xiàn)數(shù)學(xué)集合運算

示例1:找出A和B兩組之間的差異

返回一個新集合,其中包含在集合A而不在集合B中的元素。

A={1,2,3,4,5} B={2,4,6,8} print (A.difference(B))#Output:{1,3,5} print (A-B)#Output:{1,3,5}

示例2:找出兩個以上集合之間的差異

A={1,2,3,4,5} B={2,4,6,8,10} C={2,3} print (A-B-C)#Output:{1,5} print (A.difference(B,C))#Output:{1,5}

difference()方法和-運算符之間的區(qū)別:

  • difference():接受任何可迭代的參數(shù)

  • -運算符:僅接受set作為參數(shù)。否則將引發(fā)TypeError。

示例3:在difference()方法中將iterable作為參數(shù)

A={1,2,3,4,5} #iterable is given as list print (A.difference([1,2,3]))#Output:{4,5} #iterable is given as tuple print (A.difference((1,2,3)))#Output:{4,5} #iterable is given as range object print (A.difference(range(1,4)))#Output:{4,5} #iterable is given as a dictionary print (A.difference({1:'a',2:'b',3:'c'}))#Output:{4,5}

示例4:為-運算符提供參數(shù)iterable

A={1,2,3,4,5} B=[1,2,3] print (A-B) #Output:TypeError: unsupported operand type(s) for -: 'set' and 'list'

&lsquo;difference_update()&rsquo;

從other集合中刪除該集合中的元素,通過使用-= 運算符或使用difference_update()  方法來執(zhí)行,返回類型為None,將修改原始集本身。

句法:

difference_update(*others) set -= other | ...

Python中怎么實現(xiàn)數(shù)學(xué)集合運算

示例1:找到兩個集合A和B之間的difference_update()

通過刪除集合A和集合B中都存在的元素來更新集合A。

A={1,2,3,4,5} B={2,4,6} #Return type is None. print (A.difference_update(B))#Output:None #It will update the original set print (A) #Output: {1,3,5} # difference_update by using -= operator A-=(B) print (A) #Output: {1,3,5}

示例2:查找兩個以上集合之間的difference_update

#difference_update() will modify the original set. A={1,2,3} B={1} C={2} #Return type is None. print (A.difference_update(B,C))#Output:None #It will update the original set print (A) #Output: {3} # difference_update by using -= operator A={1,2,3} B={1} C={2} A-=B|C print (A) #Output: {3}

difference_update()方法與-=運算符的區(qū)別:

  • difference_update():接受任何可迭代的參數(shù)

  • -=運算符:僅接受set參數(shù),否則將引發(fā)TypeError。

示例3:在difference_update()方法中將iterable作為參數(shù)

#iterable is given as list A={1,2,3} B=[1] print (A.difference_update(B))#Output:None print (A)#Output:{2,3}

示例4:為-=運算符提供參數(shù)iterable

A={1,2,3} B=[1] A-=Bprint (A)#Output: TypeError: unsupported operand type(s) for -=: 'set' and 'list'

&lsquo;symmetric_difference()&rsquo;

返回一個新集合,該集合中的元素屬于集合或other,但不包含兩個集合共有的元素。通過symmetric_difference()或使用^運算符來執(zhí)行。

語法:

symmetric_difference(other) set ^ other

Python中怎么實現(xiàn)數(shù)學(xué)集合運算

示例1:找到A和B兩組之間的對稱差

返回一個新集合,其中包含來自集合A和集合B的元素,但不包含兩個集合中共同的元素。

A={1,2} B={2,3} print (A.symmetric_difference(B))#Output:{1,3} print (A^B)#Output:{1,3}

示例2:對稱差集僅適用于2個集合

多個集合不支持symmetric_difference()方法,如果給出兩個以上的集合,則會引發(fā)TypeError。

A={1,2} B={2,3,5} C={3,4} print (A.symmetric_difference(B,C))#Output:TypeError:symmetric_difference() takes exactly one argument (2 given)

但是我們可以使用^找到多個集合的對稱差集

A={1,2} B={2,3,5} C={3,4} print (A^B^C)#Output:{1,4,5}

symmetric_difference()方法和^運算符之間的區(qū)別:

  • symmetric_difference():接受任何可迭代的參數(shù),但此方法不允許使用多個集合。

  • ^運算符:它將僅接受set作為參數(shù)。否則,將引發(fā)TypeError。通過使用^運算符,可以找到多個集合之間的對稱差集。

示例3:在symmetric_difference()方法中將iterable作為參數(shù)

#iterable is given as list A={1,2,3} B=[1] print (A.symmetric_difference(B))#Output:{2,3} #iterable is given as tuple A={1,2,3} B=(1,) print (A.symmetric_difference(B))#Output:{2,3} #iterable is given as range object A={1,2,3} B=range(2) print (A.symmetric_difference(B))#Output:{2,3}

示例4:為^運算符提供參數(shù)iterable:

A={1,2,3} B=[1] A^Bprint (A) #Output: TypeError: unsupported operand type(s) for ^: 'set' and'list'

&lsquo;symmetric_difference_update()&rsquo;

更新集合,保留在兩個集合中均找到的元素并去除兩個集合中的公共元素??梢酝ㄟ^使用symmetric_difference_update()或使用^=運算符來實現(xiàn),返回類型為None,將修改原始集本身。

語法:

symmetric_difference_update(other) set ^= other

示例1:在A和B兩組之間找到symmetric_difference_update()

將通過僅保留能在任一集合中找到,但不在兩個集合中同時出現(xiàn)的元素來更新集合A。

#symmetric_difference_update() A={1,2,3,4,5} B={4,5,6,7,8} print (A.symmetric_difference_update(B)) #Output: None print (A) #Output: {1, 2, 3, 6, 7, 8} A={1,2,3,4,5} B={4,5,6,7,8} A^=B print (A) #Output: {1, 2, 3, 6, 7, 8}

&lsquo;isdisjoint()&rsquo;

如果該集合沒有共同元素,則返回True。當(dāng)且僅當(dāng)它們的交集為空集時,這時稱集合之間無連接。

語法:

isdisjoint(other)

5A14c6f7f809.png" target="_blank"><img src="https://s2.51cto.com/oss/202009/30/050f3a69e1f8f6f3bd675A14c6f7f809.png" alt="" title="" width="auto" height="auto" border="0">

示例

#Set A and Set B containing common elements A={1,2,3,4,5} B={4,5,6,7,8} print (A.isdisjoint(B))#Output:False #Set A and Set B not containing common elements A={1,2} B={3,4} print (A.isdisjoint(B))#Output:True

&lsquo;issubset()&rsquo;

測試集合中的每個元素是否都在other元素中。

語法:

issubset(other) set <= other

Python中怎么實現(xiàn)數(shù)學(xué)集合運算

示例:檢查集合A是否為集合B的子集

可以通過issubset()方法或使用&le;運算符來完成。

A={1,2,3,4,5} B={4,5,6,7,8} print (A.issubset(B)) #Output: False print (A<=B)#Output: False A={1,2,3} B={1,2,3,4,5} print (A.issubset(B)) #Output: True print (A<=B)#Output: False

Proper subset

測試集合是否為other的真子集,即set <= otherand set != other。

句法:

set < other

示例:檢查集合A是否是B的真子集

如果兩個集合相等,則意味著 A.issubsetset(B) 返回True,但是真子集A

A={1,2,3,4,5} B={4,5,6,7,8} print (A<B)#Output: False A={1,2,3,4,5} B={1,2,3,4,5} print (A<B)#Output: False A={1,2,3} B={1,2,3,4,5} print (A<B)#Output: True

&lsquo;issuperset()&rsquo;

測試other中的每一個元素是否在集合中。

語法:

issuperset(other) set >= other

Python中怎么實現(xiàn)數(shù)學(xué)集合運算

示例:檢查集合A是否為B的超集

可以通過issuperset()方法或使用&ge;運算符來實現(xiàn):

A={1,2,3,4,5} B={4,5,6,7,8} print (A.issuperset(B)) #Output: False print (A>=B)#Output:True A={1,2,3,4,5} B={1,2,3} print (A.issuperset(B)) #Output: True print (A>=B)#Output:True

Proper superset

測試集合是否是other集合的真超集,即,set >= otherand set != other。

語法:

set > other

示例:檢查集合A是否為B的真超集。

如果兩個集合相等,則意味著A.issuperset(B)返回True,但是真超集A> B將返回False。

A={1,2,3,4,5} B={4,5} print (A>B)#Output: True A={1,2,3,4,5} B={1,2,3,4,5} print (A>B)#Output: False A={1,2,3} B={1,2,3,4,5} print (A>B)#Output: True

總結(jié)

Python中怎么實現(xiàn)數(shù)學(xué)集合運算

關(guān)于Python中怎么實現(xiàn)數(shù)學(xué)集合運算就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI