成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

[零基礎(chǔ)學(xué)Python]集合的關(guān)系

EdwardUp / 1712人閱讀

摘要:凍結(jié)的集合前面一節(jié)講述了集合的基本概念,注意,那里所涉及到的集合都是可原處修改的集合。元素與集合的關(guān)系元素是否屬于某個集合。

凍結(jié)的集合

前面一節(jié)講述了集合的基本概念,注意,那里所涉及到的集合都是可原處修改的集合。還有一種集合,不能在原處修改。這種集合的創(chuàng)建方法是:

>>> f_set = frozenset("qiwsir")     #看這個名字就知道了frozen,凍結(jié)的set
>>> f_set
frozenset(["q", "i", "s", "r", "w"])
>>> f_set.add("python")             #報錯
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: "frozenset" object has no attribute "add"

>>> a_set = set("github")           #對比看一看,這是一個可以原處修改的set
>>> a_set
set(["b", "g", "i", "h", "u", "t"])
>>> a_set.add("python")
>>> a_set
set(["b", "g", "i", "h", "python", "u", "t"])
集合運算

先復(fù)習(xí)一下中學(xué)數(shù)學(xué)(準確說是高中數(shù)學(xué)中的一點知識)中關(guān)于集合的一點知識,主要是喚起那痛苦而青澀美麗的回憶吧,至少對我是。

元素與集合的關(guān)系

元素是否屬于某個集合。

>>> aset
set(["h", "o", "n", "p", "t", "y"])
>>> "a" in aset
False
>>> "h" in aset
True
集合與集合的糾結(jié)

假設(shè)兩個集合A、B

A是否等于B,即兩個集合的元素完全一樣

在交互模式下實驗

>>> a           
set(["q", "i", "s", "r", "w"])
>>> b
set(["a", "q", "i", "l", "o"])
>>> a == b
False
>>> a != b
True

A是否是B的子集,或者反過來,B是否是A的超集。即A的元素也都是B的元素,但是B的元素比A的元素數(shù)量多。

實驗一下

>>> a
set(["q", "i", "s", "r", "w"])
>>> c
set(["q", "i"])
>>> c>> c.issubset(a)   #或者用這種方法,判斷c是否是a的子集
True
>>> a.issuperset(c) #判斷a是否是c的超集
True

>>> b
set(["a", "q", "i", "l", "o"])
>>> a>> a.issubset(b)   #或者這樣做
False

A、B的并集,即A、B所有元素,如下圖所示

>>> a
set(["q", "i", "s", "r", "w"])
>>> b
set(["a", "q", "i", "l", "o"])
>>> a | b                       #可以有兩種方式,結(jié)果一樣
set(["a", "i", "l", "o", "q", "s", "r", "w"])
>>> a.union(b)
set(["a", "i", "l", "o", "q", "s", "r", "w"])

A、B的交集,即A、B所公有的元素,如下圖所示

>>> a
set(["q", "i", "s", "r", "w"])
>>> b
set(["a", "q", "i", "l", "o"])
>>> a & b       #兩種方式,等價
set(["q", "i"])
>>> a.intersection(b)
set(["q", "i"])

我在實驗的時候,順手敲了下面的代碼,出現(xiàn)的結(jié)果如下,看官能解釋一下嗎?(思考題)

>>> a and b
set(["a", "q", "i", "l", "o"])

A相對B的差(補),即A相對B不同的部分元素,如下圖所示

>>> a
set(["q", "i", "s", "r", "w"])
>>> b
set(["a", "q", "i", "l", "o"])
>>> a - b
set(["s", "r", "w"])
>>> a.difference(b)
set(["s", "r", "w"])

-A、B的對稱差集,如下圖所示

>>> a
set(["q", "i", "s", "r", "w"])
>>> b
set(["a", "q", "i", "l", "o"])
>>> a.symmetric_difference(b)
set(["a", "l", "o", "s", "r", "w"])

以上是集合的基本運算。在編程中,如果用到,可以用前面說的方法查找。不用死記硬背。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/37343.html

相關(guān)文章

  • [基礎(chǔ)學(xué)python]重回函數(shù)

    摘要:函數(shù)的基本結(jié)構(gòu)中的函數(shù)基本結(jié)構(gòu)函數(shù)名參數(shù)列表語句幾點說明函數(shù)名的命名規(guī)則要符合中的命名要求。在中,將這種依賴關(guān)系,稱之為多態(tài)。不要期待在原處修改的函數(shù)會返回結(jié)果比如一定要之用括號調(diào)用函數(shù)不要在導(dǎo)入和重載中使用擴展名或路徑。 在本教程的開始部分,就已經(jīng)引入了函數(shù)的概念:《永遠強大的函數(shù)》,之所以那時候就提到函數(shù),是因為我覺得函數(shù)之重要,遠遠超過一般。這里,重回函數(shù),一是復(fù)習(xí),二是要在已經(jīng)...

    dmlllll 評論0 收藏0
  • [基礎(chǔ)學(xué)Python]正規(guī)地說一句話

    摘要:語句,遍列列表字符串字典集合等迭代器,依次處理迭代器中的每個元素。與配合使用處理在程序運行中出現(xiàn)的異常情況。表示此行為空,不運行任何操作。在迭代器函數(shù)內(nèi)使用,用于返回一個元素。恭請到上瀏覽及時更新的教程零基礎(chǔ)學(xué) 小孩子剛剛開始學(xué)說話的時候,常常是一個字一個字地開始學(xué),比如學(xué)說餃子,對他/她來講,似乎有點難度,大人也聰明,于是就簡化了,用餃餃來代替,其實就是讓孩子學(xué)會一個字就能表達。當然...

    Freeman 評論0 收藏0
  • [基礎(chǔ)學(xué)python]用Python操作數(shù)據(jù)庫(1)

    摘要:操作數(shù)據(jù)庫要對數(shù)據(jù)庫進行操作,需要先連接它。執(zhí)行后返回值為受影響的行數(shù)。執(zhí)行單條語句但是重復(fù)執(zhí)行參數(shù)列表里的參數(shù)返回值為受影響的行數(shù)例如,要在數(shù)據(jù)表中插入一條記錄,使得,這樣做沒有報錯,并且返回一個結(jié)果,說明有一行記錄操作成功。 在上一講中已經(jīng)連接了數(shù)據(jù)庫。就數(shù)據(jù)庫而言,連接之后就要對其操作。但是,目前那個名字叫做qiwsirtest的數(shù)據(jù)僅僅是空架子,沒有什么可操作的,要操作它,就必...

    lolomaco 評論0 收藏0
  • [基礎(chǔ)學(xué)Python]一二三,集合

    摘要:最簡單的說法,即是在最原始的集合論樸素集合論中的定義,集合就是一堆東西。若然是集合的元素,記作。這里對被數(shù)學(xué)家們稱為直觀的或樸素的集合論進行一個簡短而基本的介紹更詳細的分析可見樸素集合論。對集合進行嚴格的公理推導(dǎo)可見公理化集合論。 回顧一下已經(jīng)了解的數(shù)據(jù)類型:int/str/bool/list/dict/tuple 還真的不少了. 不過,python是一個發(fā)展的語言,沒準以后還出別...

    CastlePeaK 評論0 收藏0
  • [基礎(chǔ)學(xué)python]網(wǎng)站結(jié)構(gòu)

    摘要:年,甲骨文公司收購升陽微系統(tǒng)公司,成為旗下產(chǎn)品。隨著的不斷成熟,它也逐漸用于更多大規(guī)模網(wǎng)站和應(yīng)用,比如維基百科和等網(wǎng)站。例如維基百科已于年正式宣布將從遷移到數(shù)據(jù)庫。 很早很早的時候,computer這個東西習(xí)慣于被稱之為計算機,因為它的主要功能是完成一些科學(xué)計算的東西,我記得自己鼓搗它的時候,就是計算,根本就沒有想到它有早一日還可以用來做別的。后來另外一個名字電腦逐漸被人們接收了,特別...

    AlexTuan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<