2013-10-10 36 views
0

予定义的类与它的内部3点的对象:如何将类对象分配给列表中的项目? (蟒)

class abc(): 
    __slots___ = ('1','2',3') 

从这里,我由包含在成千个元素的列表:

lst = [[abc,dfg,9292],[ksdj,lkjsd,9239],...] 

每个元件内的第三个因素是总是一个数字。我想将我的类中名为3的对象分配给第三个元素,以便我可以对列表进行排序。

为了澄清一些误解,对象3实际上是数量。因此,每个元素中的第三个元素被视为一个数量。

+1

这是哪一种语言? –

+0

看起来像我的Python ... @steve纠正我,如果我错了请。 – dwerner

+0

你班上叫什么3的对象?你不能有这样的变量名称。你能解释一下你的意思吗?“从这里,我列出了一个包含大约一千个元素的列表?”我真的不明白你写的东西 – YXD

回答

1

目前还不清楚您是否尝试对列表进行排序,从列表中的元素创建abc的实例,或者完全不同。

假设你想通过每个子表的第三个元素进行排序列表:

lst.sort(key = lambda x: x[2]) 

将取代你的列表进行排序。

如果要从列表中的每个元素创建一个类型为abc的对象,则需要弄清楚您对每个列表元素的数据做了什么。如果你只是想将其存储为实例变量,你可以做这样的事情:

class ABC(): 
    __slots__ = ('a', 'b', 'c') 
    def __init__(self, a, b, c): 
     self.a = a 
     self.b = b 
     self.c = c 

obj_list = [ABC(*x) for x in lst] 

如果这就是你想要的然后,您可以解决这导致的对象名单。

+0

OP也许也希望看看'collections.namedtuple' - 但是他们很不清楚它们在做什么之后 –

相关问题