Python - clases y diccionarios

 
Vista:
sin imagen de perfil
Val: 46
Ha aumentado su posición en 52 puestos en Python (en relación al último mes)
Gráfica de Python

clases y diccionarios

Publicado por Marta (30 intervenciones) el 09/11/2019 14:24:39
Hola a tod@s

Estoy practicando con diccionarios y clases y me gustaria hacer algo como esto

1
2
3
4
5
6
7
8
9
10
11
lista_productos=[]
lista_productos.append({"codigo":"a1","color":["azul","rojo"]})
lista_productos.append({"codigo":"b1","color":["verde","amarillo"]})
 
print (lista_productos[0]['codigo'])   #---> a1
print (lista_productos[0]["color"])     #--->["azul","rojo"]
print (lista_productos[0]["color"][0])  #--> azul
 
 
print (lista_productos[1]['codigo'])  #---> b1
print (lista_productos[1]["color"])    #--->["verde","amarillo"]


pero usando clases, algo como

lista_productos[0].codigo ---> a1


se me ha ocurrido esto, q no funciona, y no se si se hace de forma totalmente distinta.


1
2
3
4
5
6
7
8
class lista_productos():
    def __init__(self,indice):
        self.lista_productos=[]
        lista_productos.append({"codigo":"a1","color":["azul","rojo"]})
        lista_productos.append({"codigo":"b1","color":["verde","amarillo"]})
 
    def codigo (self):
        print ( lista_productos[indice]['codigo'] )
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
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

clases y diccionarios

Publicado por tincopasan (1082 intervenciones) el 09/11/2019 19:51:05
hola:
supongo que buscas algo como esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
class lista_productos():
    def __init__(self):
        self.lista_productos=[]
        self.lista_productos.append({"codigo":"a1","color":["azul","rojo"]})
        self.lista_productos.append({"codigo":"b1","color":["verde","amarillo"]})
 
    def codigo (self,indice,clave):
        print ( self.lista_productos[indice][clave] )
 
 
a = lista_productos()
a.codigo(1,"codigo")
a.codigo(0,"color")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil
Val: 46
Ha aumentado su posición en 52 puestos en Python (en relación al último mes)
Gráfica de Python

clases y diccionarios

Publicado por Marta (30 intervenciones) el 10/11/2019 02:15:47
Muchas gracias tincopasan, esa es la idea.

Pero el problema esta en que obligatoriamente en pantalla debo de escribir esto:

1
2
3
lista_productos[0].codigo
lista_productos[1].codigo
lista_productos[0].color

con lo cual el script debe de ser creado de forma que se amolde a esa salida.
Supongo que estoy planteando mal el script desde el principio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar