摘要:凍結(jié)的集合前面一節(jié)講述了集合的基本概念,注意,那里所涉及到的集合都是可原處修改的集合。元素與集合的關(guān)系元素是否屬于某個(gè)集合。
凍結(jié)的集合
前面一節(jié)講述了集合的基本概念,注意,那里所涉及到的集合都是可原處修改的集合。還有一種集合,不能在原處修改。這種集合的創(chuàng)建方法是:
>>> f_set = frozenset("qiwsir") #看這個(gè)名字就知道了frozen,凍結(jié)的set >>> f_set frozenset(["q", "i", "s", "r", "w"]) >>> f_set.add("python") #報(bào)錯(cuò) Traceback (most recent call last): File "集合運(yùn)算", line 1, in AttributeError: "frozenset" object has no attribute "add" >>> a_set = set("github") #對(duì)比看一看,這是一個(gè)可以原處修改的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é)(準(zhǔn)確說(shuō)是高中數(shù)學(xué)中的一點(diǎn)知識(shí))中關(guān)于集合的一點(diǎn)知識(shí),主要是喚起那痛苦而青澀美麗的回憶吧,至少對(duì)我是。
元素與集合的關(guān)系元素是否屬于某個(gè)集合。
>>> aset set(["h", "o", "n", "p", "t", "y"]) >>> "a" in aset False >>> "h" in aset True集合與集合的糾結(jié)
假設(shè)兩個(gè)集合A、B
A是否等于B,即兩個(gè)集合的元素完全一樣
在交互模式下實(shí)驗(yàn)
>>> a set(["q", "i", "s", "r", "w"]) >>> b set(["a", "q", "i", "l", "o"]) >>> a == b False >>> a != b True
A是否是B的子集,或者反過(guò)來(lái),B是否是A的超集。即A的元素也都是B的元素,但是B的元素比A的元素?cái)?shù)量多。
實(shí)驗(yàn)一下
>>> 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 #兩種方式,等價(jià) set(["q", "i"]) >>> a.intersection(b) set(["q", "i"])
我在實(shí)驗(yàn)的時(shí)候,順手敲了下面的代碼,出現(xiàn)的結(jié)果如下,看官能解釋一下嗎?(思考題)
>>> a and b set(["a", "q", "i", "l", "o"])
A相對(duì)B的差(補(bǔ)),即A相對(duì)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的對(duì)稱(chēng)差集,如下圖所示
>>> 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"])
以上是集合的基本運(yùn)算。在編程中,如果用到,可以用前面說(shuō)的方法查找。不用死記硬背。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/37343.html
摘要:函數(shù)的基本結(jié)構(gòu)中的函數(shù)基本結(jié)構(gòu)函數(shù)名參數(shù)列表語(yǔ)句幾點(diǎn)說(shuō)明函數(shù)名的命名規(guī)則要符合中的命名要求。在中,將這種依賴(lài)關(guān)系,稱(chēng)之為多態(tài)。不要期待在原處修改的函數(shù)會(huì)返回結(jié)果比如一定要之用括號(hào)調(diào)用函數(shù)不要在導(dǎo)入和重載中使用擴(kuò)展名或路徑。 在本教程的開(kāi)始部分,就已經(jīng)引入了函數(shù)的概念:《永遠(yuǎn)強(qiáng)大的函數(shù)》,之所以那時(shí)候就提到函數(shù),是因?yàn)槲矣X(jué)得函數(shù)之重要,遠(yuǎn)遠(yuǎn)超過(guò)一般。這里,重回函數(shù),一是復(fù)習(xí),二是要在已經(jīng)...
摘要:語(yǔ)句,遍列列表字符串字典集合等迭代器,依次處理迭代器中的每個(gè)元素。與配合使用處理在程序運(yùn)行中出現(xiàn)的異常情況。表示此行為空,不運(yùn)行任何操作。在迭代器函數(shù)內(nèi)使用,用于返回一個(gè)元素。恭請(qǐng)到上瀏覽及時(shí)更新的教程零基礎(chǔ)學(xué) 小孩子剛剛開(kāi)始學(xué)說(shuō)話(huà)的時(shí)候,常常是一個(gè)字一個(gè)字地開(kāi)始學(xué),比如學(xué)說(shuō)餃子,對(duì)他/她來(lái)講,似乎有點(diǎn)難度,大人也聰明,于是就簡(jiǎn)化了,用餃餃來(lái)代替,其實(shí)就是讓孩子學(xué)會(huì)一個(gè)字就能表達(dá)。當(dāng)然...
摘要:操作數(shù)據(jù)庫(kù)要對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,需要先連接它。執(zhí)行后返回值為受影響的行數(shù)。執(zhí)行單條語(yǔ)句但是重復(fù)執(zhí)行參數(shù)列表里的參數(shù)返回值為受影響的行數(shù)例如,要在數(shù)據(jù)表中插入一條記錄,使得,這樣做沒(méi)有報(bào)錯(cuò),并且返回一個(gè)結(jié)果,說(shuō)明有一行記錄操作成功。 在上一講中已經(jīng)連接了數(shù)據(jù)庫(kù)。就數(shù)據(jù)庫(kù)而言,連接之后就要對(duì)其操作。但是,目前那個(gè)名字叫做qiwsirtest的數(shù)據(jù)僅僅是空架子,沒(méi)有什么可操作的,要操作它,就必...
摘要:最簡(jiǎn)單的說(shuō)法,即是在最原始的集合論樸素集合論中的定義,集合就是一堆東西。若然是集合的元素,記作。這里對(duì)被數(shù)學(xué)家們稱(chēng)為直觀的或樸素的集合論進(jìn)行一個(gè)簡(jiǎn)短而基本的介紹更詳細(xì)的分析可見(jiàn)樸素集合論。對(duì)集合進(jìn)行嚴(yán)格的公理推導(dǎo)可見(jiàn)公理化集合論。 回顧一下已經(jīng)了解的數(shù)據(jù)類(lèi)型:int/str/bool/list/dict/tuple 還真的不少了. 不過(guò),python是一個(gè)發(fā)展的語(yǔ)言,沒(méi)準(zhǔn)以后還出別...
摘要:年,甲骨文公司收購(gòu)升陽(yáng)微系統(tǒng)公司,成為旗下產(chǎn)品。隨著的不斷成熟,它也逐漸用于更多大規(guī)模網(wǎng)站和應(yīng)用,比如維基百科和等網(wǎng)站。例如維基百科已于年正式宣布將從遷移到數(shù)據(jù)庫(kù)。 很早很早的時(shí)候,computer這個(gè)東西習(xí)慣于被稱(chēng)之為計(jì)算機(jī),因?yàn)樗闹饕δ苁峭瓿梢恍┛茖W(xué)計(jì)算的東西,我記得自己鼓搗它的時(shí)候,就是計(jì)算,根本就沒(méi)有想到它有早一日還可以用來(lái)做別的。后來(lái)另外一個(gè)名字電腦逐漸被人們接收了,特別...
閱讀 2945·2021-09-22 15:20
閱讀 3029·2021-09-22 15:19
閱讀 3579·2021-09-22 15:15
閱讀 2510·2021-09-08 09:35
閱讀 2434·2019-08-30 15:44
閱讀 3076·2019-08-30 10:50
閱讀 3868·2019-08-29 16:25
閱讀 1659·2019-08-26 13:55