我定义了一个包含3个对象的类:
class abc():
__slots___ = ('1','2',3')从这里开始,我列出了一个包含大约1000个元素的列表:
lst = [[abc,dfg,9292],[ksdj,lkjsd,9239],...]每个元素中的第三个元素始终是一个数字。我想将类中名为3的对象赋给第三个元素,这样我就可以对列表进行排序。
为了澄清一些误解,对象3实际上是数量。因此,每个元素中的第三个元素被认为是一个量。
发布于 2013-10-11 06:41:46
现在还不清楚你是在尝试对列表进行排序,还是从列表中的元素创建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]如果这是您想要的,那么您可以对生成的对象列表进行排序。
https://stackoverflow.com/questions/19307169
复制相似问题