Ordenar con Lambda en Python
En Python, tenemos las funciones sorted()
y sort()
disponibles para ordenar una lista.
Estas funciones nos permiten ordenar la lista en el orden requerido. De forma predeterminada, podemos ordenar la lista en orden descendente o ascendente.
También podemos utilizar un parámetro en estas funciones, que es el parámetro key
. Nos permite crear nuestro propio orden de clasificación. Podemos utilizar las funciones lambda
en este parámetro, lo que nos permite crear nuestra propia función de una sola línea.
Por ejemplo,
lst = ["id01", "id10", "id02", "id12", "id03", "id13"]
lst_sorted = sorted(lst, key=lambda x: int(x[2:]))
print(lst_sorted)
Producción :
['id01', 'id02', 'id03', 'id10', 'id12', 'id13']
En el ejemplo anterior, tenemos una lista de IDs donde cada número tiene como prefijo las letras id
. En el parámetro key
, especificamos una función lambda
especificando que tenemos que ignorar los dos primeros caracteres (id
) y ordenar la lista.
También hay otras formas en las que podemos usar las funciones lambda
para ordenar.
Por ejemplo,
lst = [("Mark", 1), ("Jack", 5), ("Jake", 7), ("Sam", 3)]
lst_sorted = sorted(lst, key=lambda x: x[1])
print(lst_sorted)
Producción :
[('Mark', 1), ('Sam', 3), ('Jack', 5), ('Jake', 7)]
En el ejemplo anterior, tenemos una lista de tuplas. La tupla consta de un nombre y un número. En la función lambda
, especificamos la función a ordenar en función del segundo elemento de la tupla, es decir, el número.
Tenga en cuenta que podemos cambiar el orden a descendente utilizando el parámetro reverse
y configurándolo en True
.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn