色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

我可以使用可變對象作為python中的字典鍵。這是不允許的嗎?

瀏覽:15日期:2022-08-07 11:46:28
如何解決我可以使用可變對象作為python中的字典鍵。這是不允許的嗎??

具有方法的任何對象都可以是字典鍵。對于您編寫的類,此方法默認(rèn)返回基于id(self)的值,并且如果相等性不是由這些類的標(biāo)識決定的,則將它們用作鍵可能會讓您感到驚訝:

>>> class A(object):... def __eq__(self, other):... return True... >>> one, two = A(), A()>>> d = {one: 'one'}>>> one == twoTrue>>> d[one]’one’>>> d[two]Traceback (most recent call last): File '<stdin>', line 1, in <module>KeyError: <__main__.A object at 0xb718836c>>>> hash(set()) # sets cannot be dict keysTraceback (most recent call last): File '<stdin>', line 1, in <module>TypeError: unhashable type: ’set’

在2.6版中進行了更改:__hash__現(xiàn)在可以設(shè)置為None,以將類實例明確標(biāo)記為不可哈希。[]

class Unhashable(object): __hash__ = None解決方法

class A(object): x = 4i = A()d = {}d[i] = 2print di.x = 10print d

我以為只有不可變的對象才可以是字典鍵,但是上面的對象是可變的。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 精品国产精品久久一区免费式 | 成人一级大片 | 久久久久久久久综合 | 国产在线一区二区三区 | 国产精品每日更新在线观看 | 一级淫片免费视频 | 伊人五月天婷婷琪琪综合 | 亚洲天堂久久精品 | 日韩一区二区三区在线 | 成人午夜影视全部免费看 | 加勒比色久综合在线 | 欧美日韩国产免费一区二区三区 | 国产一区亚洲二区 | 国产一区二区三区免费在线观看 | 欧美午夜影院 | 国产精品爱久久久久久久9999 | 黄色成人在线观看 | 国产精品成人观看视频免费 | 久久黄色一级视频 | 免费毛片视频网站 | 99精品高清不卡在线观看 | 免费人成年短视频在线观看免费网站 | 一区免费在线观看 | 成人亚洲欧美综合 | 国产成人一区二区三区在线视频 | 免费欧洲毛片a级视频无风险 | 精品72久久久久久久中文字幕 | 97青娱国产盛宴精品视频 | 狠狠色狠狠色综合日日32 | 看日本真人一一级特黄毛片 | 亚洲国产第一区二区香蕉 | 在线观看欧美亚洲日本专区 | 欧美激情一区二区三区高清视频 | 91精品最新国内在线播放 | 久久99精品综合国产首页 | 朝鲜美女免费一级毛片 | 中日毛片| 日韩经典一区 | 日韩一区二区三区在线免费观看 | 欧美视频区 | 国产午夜精品免费一二区 |