gpt4 book ai didi

python - Python 缺少 frozen-dict 类型的解决方法?

转载 作者:太空狗 更新时间:2023-10-29 17:56:41 31 4
gpt4 key购买 nike

<分区>

在 Python 中,当你想使用列表作为某些字典的键时,你可以将它们变成元组,元组是不可变的,因此是可散列的。

>>> a = {}
>>> a[tuple(list_1)] = some_value
>>> a[tuple(list_2)] = some_other_value

当您想使用 set 对象作为某些字典的键时,也会发生同样的情况 - 您可以构建一个 frozenset,它也是不可变的,因此是可散列的。

>>> a = {}
>>> a[frozenset(set_1)] = some_value
>>> a[frozenset(set_2)] = some_other_value

但是对于字典来说似乎没有等价物。

我想到的第一个想法(最后发现它很糟糕)是使用 str(some_dict) 作为键。但是,字典总是使用不同的哈希函数(这会影响元素的顺序),因此相同字典的字符串可能不同。

是否有任何被称为良好实践的解决方法,或者是否有人有其他想法如何使用类似字典的对象作为其他字典的键?

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com