python词典 - 每个值的两个键

时间:2011-09-27 08:06:54

标签: python dictionary

您好我很确定您不能这样做,但我想知道您是否可以使用字典,其中每个值都可以通过两个键访问而无需复制字典。

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

1 个答案:

答案 0 :(得分: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]}

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