亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

[零基礎學Python]集合的關系

EdwardUp / 1749人閱讀

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

凍結的集合

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

>>> f_set = frozenset("qiwsir")     #看這個名字就知道了frozen,凍結的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"])
集合運算

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

元素與集合的關系

元素是否屬于某個集合。

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

假設兩個集合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的元素數量多。

實驗一下

>>> 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                       #可以有兩種方式,結果一樣
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"])

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

>>> 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"])

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

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

轉載請注明本文地址:http://www.ezyhdfw.cn/yun/37343.html

相關文章

  • [基礎python]重回函數

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

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

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

    Freeman 評論0 收藏0
  • [基礎python]用Python操作數據庫(1)

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

    lolomaco 評論0 收藏0
  • [基礎Python]一二三,集合

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

    CastlePeaK 評論0 收藏0
  • [基礎python]網站結構

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

    AlexTuan 評論0 收藏0

發(fā)表評論

0條評論

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