如何修改Python'默认'字典,使其始终返回默认值

Kim*_*ais 3 python dictionary python-2.4

我正在使用它们来打印数据包中指定的IANA值的名称.因此,所有字典都具有相同的默认值"RESERVED".

我不想使用d.get(key,default)但是访问字典,d[key]以便如果密钥不在d中,则返回默认值(对于所有字典都是相同的).

我不一定需要使用字典,但它们是直观的选择......还有,我可以做到这一点的字典

d = {
   1..16 = "RESERVED",
   17 : "Foo",
   18 : "Bar,
   19..255: "INVALID"
  }
Run Code Online (Sandbox Code Playgroud)

将是首选的解决方案

元组可能是另一种选择,但是我很容易抵消分配值的错误......(而且我的代码不会是"人类可读的")

哦,是的,Python 2.4

Mar*_*o F 9

如果你可以迁移到Python 2.5,有defaultdict类,如这里.您可以传递一个初始化程序,返回您想要的内容.否则,我担心,你必须自己动手实施它.