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:
Pero quisiera que se pudiera cambiar la dimensión. Esto se me ocurrió pero no funciona
Después en un ciclo for necesito acceder a cada objeto iterando.
Algo como:
Espero me puedan orientar en que forma podría hacerlo. Gracias de antemano.
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()
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


0