最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中的set實(shí)現(xiàn)不重復(fù)的排序原理

 更新時間:2018年01月24日 15:42:02   作者:廖Sir  
這篇文章主要介紹了python中的set實(shí)現(xiàn)不重復(fù)的排序原理,需要的朋友可以參考下

最近在嘗試寫選課系統(tǒng)的時候遇到一個問題:

  1、存在兩個類 School、Teacher ;

  2、School實(shí)例中包含多個Teacher的實(shí)例,但又不可重復(fù)

  本人想到在School中用set()存儲,但是添加Teacher實(shí)例的時候做不到去重,后來猜測應(yīng)該是set會自動調(diào)用__eq__方法比較對象是否重復(fù),因此重寫了該方法:

def __eq__(self, other):
  return self.name == other.name

   結(jié)果仍然報錯TypeError: unhashable type,如下:

  研究了很久,發(fā)現(xiàn)Teacher無法hash的原因是該類中缺少__hash__方法,導(dǎo)致解釋器不知道如何哈希該對象,添加以下代碼后問題解決:

  def __hash__(self):
    return hash(self.name) 

  綜上發(fā)現(xiàn):

  如果想要將對象用set去重,需要重寫__eq__和__hash__兩個方法。

總結(jié)

以上所述是小編給大家介紹的python中的set實(shí)現(xiàn)不重復(fù)的排序原理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 實(shí)現(xiàn)Python與STM32通信方式

    實(shí)現(xiàn)Python與STM32通信方式

    今天小編就為大家分享一篇實(shí)現(xiàn)Python與STM32通信方式。具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python連接到PostgreSQL數(shù)據(jù)庫的方法詳解

    Python連接到PostgreSQL數(shù)據(jù)庫的方法詳解

    顧名思義,PostgreSQL?是一款為高效管理數(shù)據(jù)庫系統(tǒng)而創(chuàng)建的?SQL?系統(tǒng)軟件,這篇文章主要為大家詳細(xì)介紹了創(chuàng)建與?PostgreSQL?上的數(shù)據(jù)庫的連接的過程,需要的小伙伴可以了解下
    2023-10-10
  • Python單體模式的幾種常見實(shí)現(xiàn)方法詳解

    Python單體模式的幾種常見實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Python單體模式的幾種常見實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python單體模式的實(shí)現(xiàn)方法、原理與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-07-07
  • PyCharm2019 安裝和配置教程詳解附激活碼

    PyCharm2019 安裝和配置教程詳解附激活碼

    這篇文章主要介紹了PyCharm2019 安裝和配置,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Python?numpy之線性代數(shù)與隨機(jī)漫步

    Python?numpy之線性代數(shù)與隨機(jī)漫步

    這篇文章主要介紹了Python?numpy之線性代數(shù)與隨機(jī)漫步,線性代數(shù),矩陣計算,優(yōu)化與內(nèi)存;比如矩陣乘法,分解,行列式等數(shù)學(xué)知識,是所有數(shù)組類庫的重要組成部分
    2022-07-07
  • numpy數(shù)據(jù)類型dtype轉(zhuǎn)換實(shí)現(xiàn)

    numpy數(shù)據(jù)類型dtype轉(zhuǎn)換實(shí)現(xiàn)

    這篇文章主要介紹了numpy數(shù)據(jù)類型dtype轉(zhuǎn)換實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Python實(shí)現(xiàn)K折交叉驗(yàn)證法的方法步驟

    Python實(shí)現(xiàn)K折交叉驗(yàn)證法的方法步驟

    這篇文章主要介紹了Python實(shí)現(xiàn)K折交叉驗(yàn)證法的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python實(shí)現(xiàn)計算最小編輯距離

    Python實(shí)現(xiàn)計算最小編輯距離

    這篇文章主要介紹了Python實(shí)現(xiàn)計算最小編輯距離的相關(guān)代碼,有需要的小伙伴可以參考下
    2016-03-03
  • python os.path.isfile()因參數(shù)問題判斷錯誤的解決

    python os.path.isfile()因參數(shù)問題判斷錯誤的解決

    今天小編就為大家分享一篇python os.path.isfile()因參數(shù)問題判斷錯誤的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python利用dlib獲取人臉的68個landmark

    python利用dlib獲取人臉的68個landmark

    這篇文章主要介紹了python利用dlib獲取人臉的68個landmark,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論

乐亭县| 平顺县| 商丘市| 尼玛县| 建阳市| 遵义县| 龙山县| 建始县| 枣强县| 叙永县| 安多县| 浦东新区| 克拉玛依市| 富锦市| 车致| 二连浩特市| 大石桥市| 台湾省| 日喀则市| 洪雅县| 崇礼县| 临邑县| 兴和县| 光山县| 三原县| 霸州市| 泌阳县| 迁安市| 巴彦县| 广宁县| 沿河| 枣阳市| 确山县| 长乐市| 宁德市| 上林县| 屏东市| 启东市| 介休市| 石楼县| 子洲县|