App下載

python怎么判斷集合的超集?python集合比較詳細(xì)介紹!

猿友 2021-07-23 09:46:30 瀏覽數(shù) (2463)
反饋

我們在學(xué)習(xí)離散數(shù)學(xué)和數(shù)據(jù)結(jié)構(gòu)的時(shí)候會學(xué)習(xí)到集合相關(guān)知識,也為我們后面學(xué)習(xí)算法打下一定的基礎(chǔ)。在日常運(yùn)算中我們可以直接計(jì)算集合,但在計(jì)算機(jī)中還要實(shí)現(xiàn)相應(yīng)的集合運(yùn)算方法,這其實(shí)是不利于我們后面學(xué)習(xí)算法的時(shí)候使用的。實(shí)際上python集合運(yùn)算已經(jīng)由他人實(shí)現(xiàn)了,我們只需要直接使用對應(yīng)的方法即可。接下來我們就來介紹一下一些python集合比較的內(nèi)容吧!

1、說明

可以使用 >= 運(yùn)算符判斷當(dāng)前集合是否為另一個(gè)集合的超集,即判斷集合 b 中的所有元素是否都包含在集合 a 中。

2、語法

set_a >= set_b  # 相當(dāng)于set_a.issuperset(set_b)

3、參數(shù)

set_a:集合 a。

set_b:集合 b。

4、返回值

返回布爾值,如果集合 b 中的所有元素都包含在集合 a 中,則返回 True,否則返回 False。

5、實(shí)例

# 創(chuàng)建集合
a = {'趙', '錢', '孫', '李'}
b = {'趙', '孫', '李', '周', '吳'}
c = {'趙', '孫'}
d = {'王', '鄭'}
# 判斷集合是否為另一個(gè)集合的超集
print("a>=b返回:", a >= b)  # 返回False
print("b>=c返回:", b >= c)  # 返回True
print("a>=c返回:", a >= c)  # 返回True
print("a.issuperset(d)返回:", a.issuperset(d))  # 返回False

內(nèi)容擴(kuò)展:

python 集合比較(交集、并集,差集)

x = {1, 2, 3, 4}
y = {2, 4, 5, 6}

# 交集(取x中與y中相同部分)
print(x.intersection(y))
print(x & y)

# 并集(去重合并)
print(x.union(y))
print(x | y)

# 差集(x在y中不同部分,相反)
print(x.difference(y)) # {1, 3}
print(y.difference(x)) # {5,6}
print(x - y)
print(y - x)

# 補(bǔ)(對稱差集) 兩個(gè)分別差集之后合并為一個(gè)集合
print(x.symmetric_difference(y))
print(y.symmetric_difference(x))
print(x ^ y)
print(y ^ x)

# 子集和超集 :超集長的中包含短的。子集,短的在長的中
print(x.issubset(y))
print(y.issuperset(x))

結(jié)果請對號入座:

x.intersection(y):{2, 4}
x & y:{2, 4}
x.union(y):{1, 2, 3, 4, 5, 6}
x | y:{1, 2, 3, 4, 5, 6}
x.difference(y):{1, 3}
y.difference(x):{5, 6}
x - y:{1, 3}
y - x:{5, 6}
x.symmetric_difference(y):{1, 3, 5, 6}
y.symmetric_difference(x):{1, 3, 5, 6}
x ^ y:{1, 3, 5, 6}
y ^ x:{1, 3, 5, 6}
x.issubset(y):False
y.issuperset(x):False

以上就是python集合運(yùn)算的一些常用的方法,希望能給各位小伙伴帶來一點(diǎn)幫助,也希望大家繼續(xù)多多支持W3Cschool。


0 人點(diǎn)贊