久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁  >  技術(shù)干貨  > Python集合類型

        Python集合類型

        來源:千鋒教育
        發(fā)布人:xqq
        時間: 2023-11-07 15:18:22 1699341502

        python目前有兩種內(nèi)置集合類型,set和frozenset。

        Ⅰ、兩者區(qū)別

        set是可變的,沒有哈希值,其內(nèi)容可以使用add()和remove()這樣的方法來改變,所以不能被用作字典的鍵或其他集合的元素。

        frozenset是不可變的,并且為hashable,其內(nèi)容在被創(chuàng)建后不能再改變,因此可以被用作字典的鍵或其他集合的元素。

        Ⅱ、創(chuàng)建集合

        兩個類的構(gòu)造器有著相同的作用方式:

        classset([iterable])

        classfrozenset([iterable])

        返回一個新的set或frozenset對象,其元素來自于iterable。集合的元素必須為hashable。要表示由集合對象構(gòu)成的集合,所有的內(nèi)層集合必須為frozenset對象。如果未指定iterable,則將返回一個新的空集合。

        除了可以使用set構(gòu)造器,非空的set(不是frozenset)還可以通過將以逗號分隔的元素列表包含于花括號之內(nèi)來創(chuàng)建,例如:

        >>>a={'hello','python'}

        >>>type(a)

        當(dāng)然如果想要建立一個空的集合,則必須用set構(gòu)造器。

        Ⅲ、無序多項集set

        set對象是由具有唯一性的hashable對象所組成的無序多項集。常見的用途包括成員檢測、從序列中去除重復(fù)項以及數(shù)學(xué)中的集合運(yùn)算,例如交集、并集、差集與對稱差集等等。

        與其他多項集一樣,集合也支持xinset,len(set)和forxinset。作為一種無序的多項集,集合并不記錄元素位置和插入順序。相應(yīng)地,集合不支持索引、切片或其他序列類的操作。

        Ⅳ、集合操作

        set和frozenset的實(shí)例提供一下操作:

        len(s)#返回集合s中的元素數(shù)量

        xins#檢測x是否為s中的成員

        xnotins#檢測x是否非s中的成員

        isdisjoint(other)#如果集合中沒有與other共有的元素則返回True

        issubset(other)#等同于set<=other,檢測集合是否為other子集

        set

        issuperset(other)#等同于set>=other,檢測集合是否為other超集

        set>other#檢測集合是否為other真超集

        #下面四種方法返回一個新集合

        union(*others)#等同于set|other|...,并集

        intersection(*others)#等同于set&other&...,交集

        difference(*others)#等同于set-other-...,差集

        symmetric_difference(other)#等同于set^other,補(bǔ)集

        copy()#返回原集合的淺拷貝

        set的實(shí)例與frozenset的實(shí)例之間基于它們的成員進(jìn)行比較。例如set('abc')==frozenset('abc')返回True,set('abc')inset([frozenset('abc')])也一樣。

        可用于set而不能用于不可變的frozenset實(shí)例的操作:

        #下面四種方法更新集合

        update(*others)#等同于set|=other|...

        intersection_update(*others)#等同于set&=other&...

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

        symmetric_difference_update(other)#set^=other

        add(elem)#添加elem元素到集合中

        remove(elem)#從集合中移除元素elem

        discard(elem)#如果元素elem存在集合中則將其移除

        pop()#從集合中移除并返回任意一個元素

        clear()#移除集合中所有元素

        Note:issubset(),issuperset(),union(),intersection(),difference(),symmetric_difference(),update(),intersection_update(),difference_update()和symmetric_difference_update()方法會接受任意可迭代對象作為參數(shù)。

        set('abc')&'cbs'#錯誤

        set('abc').intersection('cbs')#正確

        相比之下,它們所對應(yīng)的運(yùn)算符版本則要求其參數(shù)為集合。這就排除了容易出錯的構(gòu)造形式例如set('abc')&'cbs',而推薦可讀性更強(qiáng)的set('abc').intersection('cbs')。

        以上內(nèi)容為大家介紹了Python集合類型,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        python豐富的內(nèi)置類型及相關(guān)操作

        python的內(nèi)置類型如下:lString:字符串放在單引號、雙引號、三引號(多行時)中,從0開始索引,支持n查:find、index、n切片:s[0:2]、s[1:]n連...詳情>>

        2023-11-07 18:07:35
        Python裝飾器?的寫法以及應(yīng)用場景

        含義:裝飾器本質(zhì)就是函數(shù),為其他函數(shù)添加附加功能原則:不修改被修飾函數(shù)的代碼不修改被修飾函數(shù)的調(diào)用方式應(yīng)用場景:無參裝飾器在用戶登錄認(rèn)...詳情>>

        2023-11-07 17:38:46
        Python粘包

        什么是粘包?socket中造成粘包的原因是什什么?哪些情況會發(fā)生粘包現(xiàn)象?只有TCP有粘包現(xiàn)象,UDP永遠(yuǎn)不會粘包粘包:在獲取數(shù)據(jù)時,出現(xiàn)數(shù)據(jù)的內(nèi)容不...詳情>>

        2023-11-07 17:35:10
        Python之select、poll、epoll模型的區(qū)別

        select、poll、epoll模型的區(qū)別?(屬于多路復(fù)用IO的模型)都是i/o多路復(fù)用的機(jī)制,監(jiān)視多個socket是否發(fā)生變化,本質(zhì)上都是同步i/oselect,poll實(shí)...詳情>>

        2023-11-07 17:31:34
        Python進(jìn)程、線程、協(xié)程的區(qū)別

        簡述進(jìn)程、線程、協(xié)程的區(qū)別以及應(yīng)用場景?線程是指進(jìn)程內(nèi)的一個執(zhí)行單元,#進(jìn)程進(jìn)程擁有自己獨(dú)立的堆和棧,既不共享堆,亦不共享棧,進(jìn)程由操作...詳情>>

        2023-11-07 17:27:58
        海盐县| 香港| 涟水县| 文成县| 武冈市| 杨浦区| 宁都县| 南江县| 大新县| 海兴县| 思茅市| 易门县| 阳原县| 安西县| 宜城市| 疏勒县| 尚志市| 北碚区| 应用必备| 综艺| 土默特右旗| 桓仁| 丰原市| 寿阳县| 神池县| 临安市| 定结县| 安泽县| 静宁县| 达拉特旗| 荥阳市| 恭城| 毕节市| 灯塔市| 盐亭县| 龙陵县| 古丈县| 香河县| 乐平市| 西乌| 关岭|