av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

瀏覽:10日期: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__現(xiàn)在可以設(shè)置為None,以將類實例明確標記為不可哈希。[]

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

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

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

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产精品久久久久久久免费观看 | 一区二区三区高清 | 1000部精品久久久久久久久 | 成人精品国产一区二区4080 | 电影午夜精品一区二区三区 | 69堂永久69tangcom | 欧美亚洲国产成人 | 欧美精品在线一区二区三区 | 亚洲高清在线视频 | 高清久久| 欧美日韩一卡 | 国产精品久久久久久久久久免费 | 亚洲一区二区免费 | 日韩在线精品强乱中文字幕 | 69热视频在线观看 | 精品视频一区二区三区 | 一区二区国产在线观看 | 成人在线视频免费播放 | 亚洲精品一区二区在线观看 | 日韩精品一区二区三区视频播放 | 亚洲免费观看视频 | 日韩精品一区二区三区视频播放 | 密室大逃脱第六季大神版在线观看 | 免费国产视频在线观看 | 黄色毛片在线看 | 日韩精品一区二区三区在线播放 | 午夜在线小视频 | 91精品国产高清一区二区三区 | 中文字幕伊人 | 精品久久久一区 | 日干夜干| 99视频免费播放 | 亚洲精品久久久一区二区三区 | 日韩喷潮 | 日韩视频一区在线观看 | 欧美日韩国产精品激情在线播放 | 亚洲夜夜爽 | 久久久久久久久91 | 在线成人福利 | 一区二区三区四区在线视频 | 在线播放国产一区二区三区 |