从对象元素返回列表?

Enc*_*iby 1 python object

我有一个已定义的对象(简化如下),并希望将一个元素作为列表返回.

有没有比下面更简单的方法?

class objectRecord(object):
    def __init__(self,fields):
        self.time=fields[0]
        self.definition=fields[1]
        self.name=fields[2]
        self.source=fields[3]
        self.size=fields[4]
        self.value=fields[5]
        self.increasedsize=fields[6]
        self.count=fields[7]
Run Code Online (Sandbox Code Playgroud)

其余的__init__遗漏

    def getList(self):
        return [self.name,self.definition,self.name,self.source,self.size,self.value,self.increasedsize,self.count]
Run Code Online (Sandbox Code Playgroud)

其余的课程省略

inf*_*red 6

您可以获取包含所有对象属性的字典:

def get_attrs_dict(self):
    return self.__dict__
Run Code Online (Sandbox Code Playgroud)

如果您只想要值列表:

def get_attrs_list(self):
    return self.__dict__.values()
Run Code Online (Sandbox Code Playgroud)


Hai*_* Vu 5

这是一种方法,通过getattr():

def getList(self):
    attributes = 'time definition name source'.split()
    return [getattr(self, attribute) for attribute in attributes]
Run Code Online (Sandbox Code Playgroud)

如果需要,您可以向列表中添加更多属性.