Classifique com Lambda em Python

Manav Narula 22 junho 2021
Classifique com Lambda em Python

Em Python, temos funções sorted() e sort() disponíveis para ordenar uma lista.

Essas funções nos permitem classificar a lista na ordem necessária. Por padrão, podemos classificar a lista em ordem decrescente ou crescente.

Também podemos usar um parâmetro nessas funções, que é o parâmetro key. Isso nos permite criar nossa própria ordem de classificação. Podemos usar as funções lambda neste parâmetro, permitindo-nos criar nossa própria função de linha única.

Por exemplo,

lst = ["id01", "id10", "id02", "id12", "id03", "id13"]
lst_sorted = sorted(lst, key=lambda x: int(x[2:]))
print(lst_sorted)

Resultado:

['id01', 'id02', 'id03', 'id10', 'id12', 'id13']

No exemplo acima, temos uma lista de IDs onde cada número é prefixado com as letras id. No parâmetro key, especificamos uma função lambda especificando que devemos ignorar os dois primeiros caracteres (id) e ordenar a lista.

Existem também outras maneiras pelas quais podemos usar as funções lambda para classificação.

Por exemplo,

lst = [("Mark", 1), ("Jack", 5), ("Jake", 7), ("Sam", 3)]
lst_sorted = sorted(lst, key=lambda x: x[1])
print(lst_sorted)

Resultado:

[('Mark', 1), ('Sam', 3), ('Jack', 5), ('Jake', 7)]

No exemplo acima, temos uma lista de tuplas. A tupla consiste em um nome e um número. Na função lambda, especificamos a função a classificar com base no segundo elemento da tupla, ou seja, o número.

Observe que podemos alterar a ordem decrescente usando o parâmetro reverse e definindo-o como True.

Manav Narula avatar Manav Narula avatar

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

Artigo relacionado - Python Sort