繁体   English   中英

从列表列表创建对象列表

[英]Creating a list of objects from a list of lists

我刚刚开始学习Python。 我有一个列表列表,其中每个元素都是一个列表,看起来像这样:['1','2','3']。 我创建了一个像这样的类:

class Car(object):
    def __init__(self, a, b=0, c=0):
        self.a = a
        self.b = b
        self.c = c
    def setABC(self, a, b, c):
        self.a = a
        self.b = b
        self.c = c

如何创建一个新列表,其中每个元素都是此类的实例,而不是原始列表成员?

我已经尝试过类似的方法,但是显然没有用:

cars = cars.append(Car(cars[0], cars[1], cars[2]))

另外,我尝试了这个:

cars = [Car(x.a, x.b, x.c) for x in cars]

您应该解压缩嵌套列表以创建类对象。 您可以使用以下列表Car来创建Car对象的列表

cars = [Car(*props) for props in properties_list]

其中properties_list是包含您要用来创建汽车的属性的列表。

例如,如果properties_list类似于:

properties_list = [[1, 2, 3], [4, 5, 6]]

然后carsCar对象的列表保存为:

cars = [
    Car(a=1, b=2, c=3),
    Car(a=4, b=5, c=6)
]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM