Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Fundamentos do Sorted | Funções de Ordem Superior e Lambdas
Conceitos de Programação Funcional em Python
Seção 2. Capítulo 4
single

single

bookFundamentos do Sorted

Deslize para mostrar o menu

A ordenação de dados é uma operação comum ao trabalhar com listas em Python. A função sorted é uma função de ordem superior embutida que permite ordenar qualquer iterável e retorna uma nova lista ordenada, mantendo os dados originais inalterados. É possível utilizar sorted com ou sem lógica de ordenação personalizada. Por padrão, sorted organiza os elementos em ordem crescente, mas é possível controlar a ordem e os critérios de ordenação utilizando seus parâmetros opcionais.

Os parâmetros mais importantes de sorted são:

  • iterable: os dados que se deseja ordenar;
  • key: uma função opcional que determina o valor pelo qual cada elemento será ordenado;
  • reverse: um valor booleano que, se definido como True, ordena os dados em ordem decrescente.

Suponha que você tenha uma lista de números e queira ordená-los em ordem crescente. Basta chamar sorted(numbers). Se desejar ordenar os números em ordem decrescente, pode passar reverse=True.

12345
numbers = [9, 5, 2, 1] # Sorting in reverse order sorted_desc = sorted(numbers, reverse=True) print(sorted_desc)
copy

Também é possível utilizar o parâmetro key para ordenar estruturas de dados mais complexas, como listas de tuplas ou dicionários, especificando uma função que extrai o valor de comparação de cada elemento.

12345
words = ["apple", "kiwi", "banana"] # Sorting by the length of each string sorted_words = sorted(words, key=len) print(sorted_words)
copy

É possível passar qualquer função para o parâmetro key, incluindo uma função lambda ou uma função previamente definida. Isso faz com que sorted seja uma função de ordem superior, pois aceita outra função como argumento. A ordenação não se limita a números ou strings; é possível ordenar objetos complexos desde que seja fornecida uma função key adequada.

Note
Nota

O iterável original não é alterado pelo sorted, ele sempre retorna uma nova lista. Se desejar ordenar uma lista no próprio local, utilize o método list.sort().

Tarefa

Deslize para começar a programar

Ordenar uma lista de tuplas pelo segundo elemento de cada tupla utilizando a função sorted e uma função nomeada como parâmetro key.

  • É fornecida uma lista chamada pairs contendo tuplas de dois inteiros.
  • Defina uma função chamada get_second_element que recebe uma tupla e retorna seu segundo valor.
  • Utilize a função sorted e passe get_second_element como parâmetro key para ordenar pairs pelo segundo valor de cada tupla.
  • Armazene o resultado em uma variável chamada sorted_pairs.
  • Não se esqueça de remover o pass.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 4
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

some-alt