我想做一些相当于“标记”字典元素的事情。
这是一些伪代码来说明这个想法:
mydict = dict()
mydict['thiskey'] = 'myvalue'
#then i would like to do this:
mydict['thiskey'].tag = 1
有这样的东西吗? 或者我可能只是以某种方式追加价值? 但我需要知道如何仍然访问原始值......
答案 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
所以你需要创建两个类TaggedObject
和Tag
,但后者是可选的:你可以简单地使用一个字符串并写下来:
mydict = dict()
mydict['thiskey'] = TaggedObject("myvalue")
mydict['thiskey'].tag = "tagName"