python - 如何制作具有多个键的字典?

标签 python dictionary

我有一个关于我想要制作的字典的问题。我的目标是为单个值提供多个键,如下所示:

dictionary = {('a', 'b'): 1, ('c', 'd'): 2}
assert dictionary['a'] == 1
assert dictionary['b'] == 1

有什么想法吗?

最佳答案

我猜你的意思是:

class Value:
    def __init__(self, v=None):
        self.v = v

v1 = Value(1)
v2 = Value(2)

d = {'a': v1, 'b': v1, 'c': v2, 'd': v2}
d['a'].v += 1

d['b'].v == 2 # True
  • Python的字符串和数字都是不可变的对象,
  • 因此,如果您希望 d['a']d['b'] 指向 相同的值更新”,当它改变时,使值引用一个 mutable 对象(像上面的用户定义的类,或 dictlist设置)。
  • 那么,当你修改 d['a'] 处的对象时,d['b'] 会同时发生变化,因为它们都指向同一个对象。

关于python - 如何制作具有多个键的字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10123853/

相关文章:

python - 调整图片大小,仅在中心周围显示100x100像素

python - 为什么一维数组的形状不显示行数为 1?

java - 比较映射和列表时如何将 Java 7 重构为 Java 8

python - 键在字典 python 中显示为 nan

python - 绘制 Pandas DataSeries.GroupBy

python - 阻止 tkinter 框架被推出屏幕

python - 我需要将列表拆分为列表列表 [Python]

python - 获取单词与字典映射的所有结果

c++ - TXT 或 CSV 到 C++ 映射

python - 将包含列表项的字典展开为字典对列表