python词典 - 每个值的两个键

Ana*_*ake 4 python dictionary

嗨我相当肯定你不能这样做,但我想知道你是否可以有一个字典,其中每个值可以通过两个键访问,而无需复制字典.

我想这样做的原因是两个键代表相同的东西,但一个将是缩短版本,例如.'TYR'和'Y'都具有相同的值.

rpl*_*lnt 5

只需在两个地方放置相同(可变)的对象即可.如果更改对象,它将在字典中的两个位置更改.只有唐纳德是你必须明确添加和删除(你可以创建一些帮助方法).

In [4]: d = {}
In [5]: c = [1,2]
In [7]: d[1] = c
In [8]: d[2] = c
In [9]: d
Out[9]: {1: [1, 2], 2: [1, 2]}
In [10]: c.append(3)
In [11]: d
Out[11]: {1: [1, 2, 3], 2: [1, 2, 3]}
Run Code Online (Sandbox Code Playgroud)

如果要存储不可变类型(如字符串和元组),则可能需要创建将存储在其中的对象并在该对象内更改它.