0

我定义了一个里面有 3 个对象的类:

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

从这里,我制作了一个包含大约一千个元素的列表:

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

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

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

4

1 回答 1

1

目前尚不清楚您是在尝试对列表进行排序、在列表中创建abcfrom 元素的实例,还是完全不同的东西。

假设您想按每个子列表的第三个元素对列表进行排序:

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]

然后,如果您想要的话,您可以对生成的对象列表进行排序。

于 2013-10-10T22:41:45.817 回答