首页 > 解决方案 > 将在一个列表中找到的对象的属性传递给另一个列表

问题描述

我碰巧正在做一个项目,根据客户的需要,我创建了一些(一个类的)对象,然后将它们保存在一个列表中,然后创建的对象的属性必须保存在另一个列表以便将它们打印在 txt 文件中。我已经能够创建多个对象并将它们保存在一个列表中,但我无法访问它们拥有的属性并将它们保存在另一个列表中。

对象的创建:

list_obj = [] 
for i in range (10):
    obj = sensorUltrasonido("verde", 0, 3)
    list_obj.append(obj)

现在,问题是如何保存在另一个列表中创建的这 10 个对象的属性或访问它们?

标签: pythonlist

解决方案


由于您使用对象来映射类中的参数。最好使用魔术方法。称为dict,它将返回对象中的参数字典。可用于获取所需参数

class MyClass(object):
    class_var = 1

    def __init__(self, i_var):
        self.i_var = i_var

foo = MyClass(2)
bar = MyClass(3)

print MyClass.__dict__
print foo.__dict__
print bar.__dict__

输出将是

{'__module__': '__main__', 'class_var': 1, '__dict__': <attribute '__dict__' of 'MyClass' objects>, '__weakref__': <attribute '__weakref__' of 'MyClass' objects>, '__doc__': None, '__init__': <function __init__ at 0x0000000004E55CF8>}
{'i_var': 2}
{'i_var': 3}

希望输出可能会有所帮助


推荐阅读