Python,扩展/添加字段到元组

时间:2011-02-13 01:37:25

标签: python

这是完成以下任务的最佳方式,是子类化元组还是其他一些技巧?

region = ( "buffer", "region" )  
region.cmd = ( "kill", "mark" )

4 个答案:

答案 0 :(得分:6)

您可以简单地将tuple子类化而无需修改,它将起作用。通过子类化内置类,它可以为其分配任意属性,就像普通的用户定义类一样。

class Region(tuple):
    pass

region = Region(( "buffer", "region" ))
region.cmd = ( "kill", "mark" )

答案 1 :(得分:1)

class Region(tuple):
    def __init__(self, *args):
        super(Region, self).__init__(self, *args)
        self.cmd = None


region = Region(("buffer", "region"))
region.cmd = ("kill", "mark")

答案 2 :(得分:0)

我不确定你在问什么。

如果你想要嵌套的数据结构,我可能会使用字典而不是元组。

region = {
    "buffer" : ("kill", "mark"),
    "region" : ("kill", "mark")
}

我认为元组也是不可变的。

答案 3 :(得分:0)