有什么方法可以创建一个字典,使多个键适合一个值,而无需创建额外的。字典中的值,工作示例:
dict = {(a, b, c) : value}
dict[a] == value
dict[b] == value
dict[c] == value
无需使用 {a : value, b : value, ...} 创建字典
有什么方法可以创建一个字典,使多个键适合一个值,而无需创建额外的。字典中的值,工作示例:
dict = {(a, b, c) : value}
dict[a] == value
dict[b] == value
dict[c] == value
无需使用 {a : value, b : value, ...} 创建字典
关键是在这本字典中,我改变了一些地方的键和值。由于该值并不总是可散列的,因此我将其传输到单独的字典并通过对象 ID 链接它。
这是我得到的基本版本
似乎适合这个问题
你可以试试这个选项:
Python 具有用于创建自己的容器类型的内置功能,其工作方式类似于内置容器(
list
、dict
、tuple
):模拟容器类型。因此,您可以创建一个新类型,用必要的方法填充它,从而获得所需的功能。我的解决方案的想法如下:
例如
mlt_dict['a', 'b', 'c'] = "green"
从接收到的key中,我们选择一个,主key,将这个key下的值写入到带值的字典中。
在第二个字典中,我们编写了所有带有主键链接的键。
在第三个字典中,我们将主键与给定值的所有键的链接保持在一起。当删除一个元素以从第二个字典中删除其所有键时需要这样做(基于这样的假设:当通过任何键删除元素时,元素本身和引用它的所有键都被删除)。
目前,新类型支持添加,删除,检查存在(
x in dct
),打印出对象的内容。我没有添加检查,以免弄乱解决方案,也不会浪费时间——这段代码只是这个想法的演示。测试
结果