domingo, 23 de junio de 2013

Saber la longitud mayor de un string en un diccionario Python

Algo que he necesitado hacer es saber cual es la string mas larga de un valor y una clave de un diccionario,esto es facil recorriendo y anaizando valor por valor y clave pro clave cada elemeto del diccionario:

Algoritmo:

1.Recorren el diccionario por clave y valor

2.Llenar dos valores con los valores de la longitud de las strings(listas en este caso)

3.Teniendo las listas devolver el elemento mas largo de la lista(numéricamente hablando)

En python eso luce asi:

 #!/usr/bin/env python3  
 Dic = {  
     "Clave" : "Valor",  
     "ClaveNumero2" : "Valor_numero2"  
 } # Diccionario de prueba  
 def espacios(valor,val=False): # Val false debuelve clave  
     strvalor,strclave = [],[] # Iniciamos dos listas para trabajar en el buble  
     for clave in valor: # Iniciamos el recorrido de claves  
         strvalor.append(len(valor[clave])) # Llenamos la lista con la longitud de cada valor  
         strclave.append(len(clave)) # Llenamos la lista con la longitud de cada clave  
     if val: # Si quieren el valor trabajamos el valor  
         strvalor.sort() # Sorteamos el valor de forma ascendente  
         return (strvalor[len(strvalor)-1]) # Regresamos el ultimo valor que es el mas alto  
     else: # Igual con la calve si es lo que desean  
         strclave.sort()  
         return (strclave[len(strclave)-1])  
 print ("La string mayor de clave es : %d") %(espacios(Dic,False)) # Probamos  
 print ("La string mayor de valor es : %d") %(espacios(Dic,True))  

Para que les funcione como debe,descomenten el código y asignen bien la sangría:


Les dejo el paste:

Enlace

Espero que les sirva :D.

No hay comentarios.:

Publicar un comentario

Los comentarios serán revisados antes de ser publicados.