continuo con las listas de cadenas de caracteres

Chema Cortes chemacortes en wanadoo.es
Vie Ago 30 09:21:10 CEST 2002


> o mejor aún, una de las propuestas por Chema ("achicada" en
> funcionalidad para seguir con el mismo ejemplo):
> 
>   m=max(frecuencia.values())
>   letra_max=[k for k,v in frecuencia.items() if v==m][0]
>                      # me quedo solo con una --------^^^

Pues para hacerlo así tenía otras "propuestas" que desistí de poner por ser demasiado "bestias" y que lo hacían todo en una sóla línea usando la "reducción":

letra_max=reduce(lambda a,b: (a,b)[frecuencia[a]<frecuencia[b]], frecuencia.keys())

una variante, algo más legible:

letra_max=reduce(lambda a,b: frecuencia[a]>=frecuencia[b] and a or b, frecuencia.keys())

Como he dicho, son demasiado "bestias". Como consejo para seguir manteniendo la salud mental, recomiendo utilizar cualquiera de las otras propuestas :-)

Saludos,
-- 
Chema Cortes (chemacortes en wanadoo.es)
_____________________________________________________________________
Horas ilimitadas para leer y enviar correos con Tarifa Plana Wanadoo 
¡¡ desde las 3 de la tarde!!
Compruébalo en http://www.wanadoo.es/acceso-internet





Más información sobre la lista de distribución Python-es