Python - problema Clase objeto dimensión variable

 
Vista:

problema Clase objeto dimensión variable

Publicado por Edgar (1 intervención) el 05/08/2020 22:10:15
Hola. Saludos. Estoy comenzando a usar python, generalmente trabajaba con matlab. Tengo un problema al crear objetos en python que contengan otros objetos. En Matlab lo que hago es esto:
P = [];
P(1).features = [];
P(1).class = 1;
P(1).mem.samples = [];
P(1).mem.labels = [];
P(2).features = [];
P(2).class = 2;
P(2).mem.samples = [];
P(2).mem.labels = [];

En python lo más cercano que he podido hacer es esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class mem:
    def __init__(self):
        self.labels = np.array([])
        self.samples = np.array([])
 
class P:
    def __init__(self):
        self.clase = np.array([])
        self.features = np.array([])
        self.mem = mem()
 
class VP:
    def __init__(self):
        self.i0 = P()
        self.i1 = P()
        self.i2 = P()

Pero quisiera que se pudiera cambiar la dimensión. Esto se me ocurrió pero no funciona
1
2
3
4
5
class VP:
    pos=2
    def __init__(self,pos):
        for j in range(pos):
            self.i[j] = P()
Después en un ciclo for necesito acceder a cada objeto iterando.
Algo como:
1
2
3
4
u=VP(2)
for i in range(n):
    u.i[i].mem.labels=x
    u.i[i].clase=y

Espero me puedan orientar en que forma podría hacerlo. Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder