tipo Python lambda

Los diccionarios son estructuras de datos desordenadas. Usan una estructura de mapeo para almacenar datos. Los diccionarios asignan claves a valores, creando pares que contienen datos relacionados.

Con el método sorted () de Python, puede ordenar el contenido de un diccionario por valor. Por ejemplo, para clasificar la popularidad de los elementos en un men√∫ de café, puede utilizar el método sorted () de Python. Este tutorial discutirá còmo funciona el método sorted () y còmo puedes usarlo para ordenar el contenido de un diccionario.

Python sorted () Refresher

La funciòn sorted () incorporada de Python se puede utilizar para clasificar objetos iterables, como listas, tuplas y diccionarios. La funciòn sorted () ordena los elementos del objeto iterable especificado y crea un nuevo objeto con los valores recién ordenados.

Aquì está la sintaxis del método sorted () :

El método toma en tres parámetros:

  • objeto : el objeto iterable que desea ordenar (obligatorio)
  • clave : la funciòn que le permite realizar operaciones de clasificaciòn personalizadas (opcional)
  • inverso : especifica si el objeto debe clasificarse en orden descendente (opcional)

Como puede ver, object es el √∫nico parámetro obligatorio. Si decide no utilizar los parámetros opcionales key y reverse , Python clasificará automáticamente el objeto en orden ascendente.

Nota: Career Karma escribiò un guìa completa sobre los métodos sort () y sorted () en Python. Si desea obtener más informaciòn sobre este método y el parámetro key , consulte nuestro tutorial de Python sort () .

Veamos un ejemplo rápido para ilustrar còmo funciona el método sorted () . & nbsp;

El 81% de los participantes afirmò que se sentìa más seguro acerca de su tecnologìa perspectivas laborales después de asistir a un campo de entrenamiento. Asòciese a un bootcamp hoy mismo.

El graduado promedio de bootcamp pasò menos de seis meses en la transiciòn profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Digamos que estamos operando un cafeterìa y queremos recuperar una lista alfabética de nuestros clientes de Coffee Club (lealtad). Ya tenemos una lista de clientes, pero está ordenada por fecha de registro. Podrìamos usar el siguiente còdigo para ordenar nuestra lista:

Nuestro còdigo ordena la matriz clientes y devuelve lo siguiente :

En la primera lìnea de nuestro còdigo, declaramos una lista que almacena a nuestros clientes " nombres; esta lista se llama: clientes. Luego, usamos el método sorted () para ordenar la lista de nombres de clientes en orden ascendente; esta nueva lista se llama: sorted_customers . Finalmente, imprimimos la lista recién ordenada en la consola usando la funciòn print () .

Ordenar un diccionario por valor

Digamos que tiene un diccionario y desea ordenarlo por pares clave-valor. Puede hacerlo usando dos funciones juntas: items () y sorted () . & nbsp;

La funciòn items () le permite recuperar los elementos en un diccionario. Podemos usar esta funciòn en combinaciòn con la funciòn sorted () y un parámetro personalizado key para ordenar un diccionario por valor. Considere los siguientes dos ejemplos.

Ejemplo 1: Ordenar en orden descendente

Volvamos a la cafeterìa. Supongamos que tenemos un diccionario que almacena los elementos de nuestro men√∫ de café, asì como cuántos de cada artìculo se pidieron en el √∫ltimo mes. Queremos ver cuál fue el café más popular el mes pasado, por lo que decidimos ordenar el diccionario de pedidos en orden descendente de valores.

Aquì hay un programa que podrìamos usar para ordenar el contenido de nuestro diccionario por valor:

Nuestro còdigo devuelve lo siguiente:

Hay muchas cosas que suceden en nuestro còdigo , asì que vamos a desglosarlo. & nbsp;

Al comienzo de nuestro còdigo, definimos un diccionario llamado pedidos que almacena los nombres de los cafés como claves y el n√∫mero vendido como valores .

Luego, usamos el método sorted () para ordenar los pedidos diccionario por valor. Aquì hay un desglose de còmo usamos el método sorted () :

Parámetro Texto Descripciòn
objeto orders.items () & nbsp; Se refiere a todos los valores de nuestros " pedidos " diccionario. Si tuviéramos que usar solo "pedidos", tendrìamos que hacer referencia a la posiciòn del ìndice del artìculo para obtener su valor individual. Mientras que si usamos orders.items (), se crea una lista iterable con los elementos de una lista.
clave key = lambda x: x [1] Un mecanismo de clasificaciòn que nos permite ordenar nuestro diccionario por valor. Este es un ejemplo de una funciòn Lambda, que es una funciòn sin nombre.
reverse reverse = True Indica que queremos que nuestros datos se clasifiquen en orden descendente.

Finalmente, creamos un bucle for que recorre cada elemento creado en nuestro método sort_order e imprime tanto su nombre de clave como su valor, ordenados en el orden que especificamos en la funciòn sort_order .

Ejemplo 2: ordenar en orden ascendente

De manera similar, si quisiéramos averiguar la bebida menos popular que se vende en nuestra cafeterìa, podrìamos usar el mismo còdigo como arriba pero sin el parámetro reverse = True . Aquì hay un ejemplo del còdigo para esto:

Cuando ejecutamos nuestro còdigo, se devuelven los siguientes valores:

Como t√∫ puede ver, nuestro còdigo devolviò una lista de elementos dispuestos en orden ascendente, seg√∫n el n√∫mero de cada elemento ordenado en el √∫ltimo mes.

Comprensiòn de listas

Además, podemos usar la comprensiòn de listas para ordenar el contenido del diccionario por valor. La comprensiòn de listas es una técnica concisa para crear listas en Python y puede ahorrar espacio si está creando métodos de clasificaciòn más complejos.

Aquì está el còdigo que usarìamos para clasificar nuestros pedidos de café en orden ascendente por n√∫mero de cada café que se ordenò usando la comprensiòn de listas:

"Career Karma entrò en mi vida cuando más lo necesitaba y rápidamente me ayudò a combinar con un bootcamp. Dos meses después de graduarme, encontré el trabajo de mis sue√±os que se alineaba con mis valores y metas en la vida! "

Venus, ingeniero de software en Rockbot

Cuando ejecutamos nuestro còdigo, se devuelve la siguiente respuesta :

El resultado de nuestro còdigo fue el mismo que en nuestro ejemplo anterior donde ordenamos el contenido de la lista orders en orden ascendente. Pero en lugar de definir una variable sort_orders y crear un bucle for separado para recorrer la lista ordenada, creamos una lista usando la técnica de comprensiòn de listas.

La lista de comprensiòn que creamos arriba clasifica cada elemento de nuestra lista en orden ascendente, luego imprime la clave y el valor de cada elemento del diccionario en la consola.

Conclusiòn

Cuando trabajas con diccionarios en Python, ordenar un diccionario por valor es una operaciòn com√∫n. El sorted () El método le permite ordenar un conjunto de datos seg√∫n sus necesidades.

Este tutorial explica, con ejemplos, còmo usar el método sorted () para ordenar un diccionario por valor en Python, incluido còmo usar los parámetros key y reverse . & Nbsp;

Ahora está listo para comenzar a ordenar diccionarios por valor como un profesional de Python !