标记字典数据

时间:2011-01-24 07:29:57

标签: python

我想做一些相当于“标记”字典元素的事情。

这是一些伪代码来说明这个想法:

mydict = dict()
mydict['thiskey'] = 'myvalue'
#then i would like to do this:
mydict['thiskey'].tag = 1

有这样的东西吗? 或者我可能只是以某种方式追加价值? 但我需要知道如何仍然访问原始值......

3 个答案:

答案 0 :(得分:3)

我能想到的两种可能性是创建一个只包含标签和值的简单TaggedData类。或者使用字典作为值,只使用键'tag'和'value'。

答案 1 :(得分:3)

>>> class MyStr(str):pass
... 
>>> mydict = dict()
>>> mydict['thiskey'] = MyStr('myvalue')
>>> mydict['thiskey'].tag = 1

答案 2 :(得分:2)

mydict = dict()
mydict['thiskey'] = TaggedObject("myvalue")
mytag = Tag("tagName")
mydict['thiskey'].tag = mytag

所以你需要创建两个类TaggedObjectTag,但后者是可选的:你可以简单地使用一个字符串并写下来:

mydict = dict()
mydict['thiskey'] = TaggedObject("myvalue")
mydict['thiskey'].tag = "tagName"