久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

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

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

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

>>> 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__現在可以設置為None,以將類實例明確標記為不可哈希。[]

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

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

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 91短视频版在线观看www免费 | 天堂网中文在线 | 国产精品一区二区三区在线 | 成人亚洲精品久久久久 | 国产日韩一区二区 | 午夜影院网站 | 毛片视频网站 | 亚洲精品久久久久国产 | www.久久99 | 国产一区二区视频在线观看 | 6080yy精品一区二区三区 | 亚洲日韩中文字幕一区 | 午夜精品一区二区三区在线播放 | 久草免费福利 | 国产一级视频免费观看 | 久久久精 | 日韩精品中文字幕一区二区三区 | www.99久久久| 国产欧美综合一区二区三区 | 国产成人久久 | the蜜臀av入口 | 99re在线 | 久久精品这里热有精品 | 精品久久久久久久久久久久久久 | 久草视频在线播放 | 国产专区在线 | 国产色黄视频 | 成人在线一区二区三区 | 黄免费观看 | 久久91| 亚洲精品视频区 | 欧美日韩成人一区 | 久久只有精品 | 日韩精品在线播放 | 手机在线不卡av | 欧美日韩一二三区 | 国产精品一区二区三区在线免费观看 | 国产一区二区毛片 | 亚洲欧美在线免费观看 | 影音先锋中文字幕一区 | 色偷偷888欧美精品久久久 |