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 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