Título: Python Ordenar diccionarios ¿listas?
Publicado por: metalost en 26 Febrero 2018, 01:01 am
#-*-coding:utf-8-*- import time id1=0 alumnos={} def agregar(): global id1,alumnos id1+=1 nomb=raw_input("Ingrese el nombre del alumno n"+str(id1)+": ") ntot=0.0 notasA=[] for x1 in range(0,4): notas1=int(input("Ingrese nota n"+str(x1+1)+": ")) ntot+=notas1 notasA.append(notas1) ntot=(ntot/4) alumnos[id1]=[nomb,ntot,notasA] def ordenar(): global alumnos print alumnos.sort() def consultar(alumnos): for x in alumnos: print "N"+str(x),"Nombre: "+alumnos[x][0],"Promedio: "+str(alumnos[x][1]) while True: print""" ############# Opcion 1: Agregar ############# ############# Opcion 2: Consultar ############# ############# Opcion 3: Cerrar ############# """ opc=int(input("Elija la opcion que desea: ")) if opc==1: agregar() elif opc==2: ordenar() consultar(alumnos) elif opc==3: print alumnos break else: print "" print "" print "Opcion Invalida por favor vuelva a intentarlo cuando salga la pantalla" time.sleep(3) print "" print ""
Crei que con el .sort podria hacerlo, pero... Que podria aplicar o hacer para que pueda ordenar todos los datos segun por ejemplo el promedio
Título: Re: Python Ordenar diccionarios ¿listas?
Publicado por: Yidu en 27 Febrero 2018, 18:24 pm
Buenas,
Yo probaria a usar el modulo collections. Este ya viene incluido con Python. Para un script que estaba haciendo tambien necesitaba ordenar un diccionario. Pero creo que no se puede. Algo parecido pasa con los conjuntos (sets). En todo caso, al ordenar un diccionario, te devuelve en una tupla o lista. Aunque mejor que pruebes con el enlace que te paso. Ahi te lo explican mejor. Un saludo!
http://python-para-impacientes.blogspot.com.es/2015/04/con-ordereddict-el-orden-ha-llegado.html
|