23-11-2021, 01:25 PM
Hola,
Tengo una duda a la hora de acceder a una lista en la que cada elemento de la misma es un diccionario.
Os escribo lo que tengo hecho hasta ahora:
# Lista vacía
lista_datos = []
# Pido datos por pantalla
entrada = input('Más datos. si/no: ')
# Blucle hasta que el usuario introduzca el valor no
while entrada != 'no':
# Diccionario vacío
diccionario_datos = {}
# solicitamos tres datos para almacenar en el diccionario
diccionario_datos['primero'] = str(input('Primer dato: '))
diccionario_datos['segundo'] = str(input('Segundo dato: '))
diccionario_datos['tercero'] = str(input('Tercer dato: '))
# Introduzco el diccionario en la lista_datos
lista_datos.append(diccionario_datos)
# Solicito si desea seguir introduciendo datos
entrada = input('Más datos. si/no: ')
# Variable para almacenar la cantidad total de datos
total = float(0)
for numero in lista_datos:
print(numero)
for valor in numero.items():
print(valor)
print('Datos introducidos son:',diccionario_datos['primero'],',',diccionario_datos['segundo'],'y',diccionario_datos['tercero'])
print(lista_datos)
El programa funciona.
Si introduzco que sí a la primera pregunta e introduzco uno, dos tres
Vuelvo a decir que sí quiero seguir introduciendo datos e introduzco cuatro, cinco, seis
Digo que no quiero seguir.
Como resultado, entre otros, obtengo:
Datos introducidos son: cuatro , cinco y seis
Datos introducidos son: cuatro , cinco y seis
Datos introducidos son: cuatro , cinco y seis
(repetido tres veces)
Y el resultado que yo deseo es:
Datos introducidos son: uno, dos y tres
Datos introducidos son: cuatro , cinco y seis
¿Cómo puedo acceder a cada diccionario de la lista para poder mostrar ese resultado?
Alguien me puede ayudar.
Gracias
Tengo una duda a la hora de acceder a una lista en la que cada elemento de la misma es un diccionario.
Os escribo lo que tengo hecho hasta ahora:
# Lista vacía
lista_datos = []
# Pido datos por pantalla
entrada = input('Más datos. si/no: ')
# Blucle hasta que el usuario introduzca el valor no
while entrada != 'no':
# Diccionario vacío
diccionario_datos = {}
# solicitamos tres datos para almacenar en el diccionario
diccionario_datos['primero'] = str(input('Primer dato: '))
diccionario_datos['segundo'] = str(input('Segundo dato: '))
diccionario_datos['tercero'] = str(input('Tercer dato: '))
# Introduzco el diccionario en la lista_datos
lista_datos.append(diccionario_datos)
# Solicito si desea seguir introduciendo datos
entrada = input('Más datos. si/no: ')
# Variable para almacenar la cantidad total de datos
total = float(0)
for numero in lista_datos:
print(numero)
for valor in numero.items():
print(valor)
print('Datos introducidos son:',diccionario_datos['primero'],',',diccionario_datos['segundo'],'y',diccionario_datos['tercero'])
print(lista_datos)
El programa funciona.
Si introduzco que sí a la primera pregunta e introduzco uno, dos tres
Vuelvo a decir que sí quiero seguir introduciendo datos e introduzco cuatro, cinco, seis
Digo que no quiero seguir.
Como resultado, entre otros, obtengo:
Datos introducidos son: cuatro , cinco y seis
Datos introducidos son: cuatro , cinco y seis
Datos introducidos son: cuatro , cinco y seis
(repetido tres veces)
Y el resultado que yo deseo es:
Datos introducidos son: uno, dos y tres
Datos introducidos son: cuatro , cinco y seis
¿Cómo puedo acceder a cada diccionario de la lista para poder mostrar ese resultado?
Alguien me puede ayudar.
Gracias