CURSO GRATUITO DE PROGRAMAÇÃO COM CERTIFICADO

CURSO GRATUITO DE PROGRAMAÇÃO COM CERTIFICADO

Aprenda a criar seu primeiro projeto de programação do zero mesmo que você seja iniciante.

ACESSAR CURSO GRATUITO*Clique no botao para acessar

Sorted Python: 3 Formas Incríveis de Ordenar Listas Em Python

Sorted Python

Neste artigo vamos entender como funciona o sorted python, uma função utilizada para ordenar listas.

Ou seja, se você quer se tornar um programador Python terá que entender como esse tipo de função se comporta.

Isso porque em diversas situações você vai precisar ordenar listas para encontrar uma determinada informação rapidamente.

Sem mais delongas, vamos ao conteúdo.

O que são listas em Python?

Ordenando Listas com Sorted Python

Primeiramente vamos entender o que são essas famosas listas que sempre vimos na linguagem Python.

Como próprio nome sugere, a lista é uma estrutura de dados composta por itens organizados de forma linear, na qual cada um pode ser acessado a partir de um índice, que representa sua posição na coleção.

Importante lembrar que esse índice é sempre iniciado em zero.

Quando trabalhamos com lista é muito comum utilizar determinadas informações dentro dela.

Ou seja, para facilitar essa tarefa é necessário ordenar essa lista de uma forma que fique mais simples de trabalhar com as informações dentro dela.

É ai que entra a função sorted() na linguagem Python.

Veja também: Como Ganhar Dinheiro Trabalhando Apenas Com WordPress

Função sorted() em Python

Programador Python

A função sorted() na linguagem Python tem o objetivo de ordenar as informações de uma determinada lista.

Na linguagem Python as listas já possuem um método dentro delas que realiza a modificação da própria lista.

list.sort()

Existem também uma função embutida que realiza a construção de uma nova lista ordenada.

# Função embutida:
sorted()

A partir de agora nesse artigo vamos explorar diversas técnicas de ordenação de dados utilizando Python.

Ordenação Básica

Ter Habilidades Técnicas Corretas

Primeiramente vamos criar uma ordenação básica de forma ascendente. Para isso basta chamar a função sorted().

Com isso será retornado uma nova lista ordenada:

print( sorted( [5, 2, 3, 1, 4] ) )

Executado o código acima o resultado será esse:

[1, 2, 3, 4, 5]

Também é possível utilizar o método list.sort().

Dessa forma a lista será modificada nela mesma retornando “none” para evitar confusão.

Diferente da função sorted() utilizando o método você não precisará da lista original. Ou seja, fica um pouco mais eficiente.

a = [5, 2, 3, 1, 4]
a.sort()
print(a)

Executado o código acima o resultado será esse:

[1, 2, 3, 4, 5]

Um outro ponto que difere as duas formas é que o método list.sort() pode ser aplicado apenas nas listas.

No entanto a função sorted() aceita qualquer iterável.

print( sorted( {1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'} ) )

Executado o código acima o resultado será esse:

[1, 2, 3, 4, 5]

Veja também: 4 Formas De Utilização da Função Print()

Ordenação Por Chave

Sorted Python Ordenação por Chave

Tanto no método list.sort() quanto a função sorted() podemos usar um parâmetro key que determina uma função a ser chamada para cada elemento da lista.

Tudo isso antes da comparação ser realizada. No exemplo abaixo temos uma comparação case-insensitive de strings:

msg = sorted("Estude programação hoje e ganhe dinheiro amanhã".split(), key=str.lower)

print(msg)

Executado o código acima o resultado será esse:

['amanhã', 'dinheiro', 'e', 'Estude', 'ganhe', 'hoje', 'programação']

Ou seja, o valor do parâmetro key deve ser uma função que recebe um único argumento e retorna uma chave que deve ser usada com propósito de ordenação.

Essa técnica é bem rápida porque a função chave é chamada uma única vez para cada entrada de registro.

Ordenação Reversa No Python

Ordenação Reversa

Por fim, vamos entrar em uma técnica um pouco mais complexa de ordenação.

Existe um parâmetro chamado reverse que pode ser utilizado tanto no método list.sort() quando na função sorted().

Essa flag é bastante utilizada para realizar uma ordenação descendente.

O exemplo abaixo realiza uma ordenação reversa de uma tupla:

from operator import itemgetter, attrgetter

estudante = [
    ('David', 'A', 15),
    ('José', 'B', 12),
    ('Ingrid', 'B', 10),
    ('Maria', 'C', 13),
]

print(sorted(estudante, key=itemgetter(2), reverse=True))

Executado o código acima o resultado será esse:

[('David', 'A', 15), ('Maria', 'C', 13), ('José', 'B', 12), ('Ingrid', 'B', 10)]

Já esse outro exemplo é basicamente o mesmo funcionamento porém realizando uma ordenação reversa em um objeto.

from operator import itemgetter, attrgetter

class Estudante:
    def __init__(self, nome, nota, idade):
        self.nome = nome
        self.nota = nota
        self.idade = idade
    def __repr__(self):
        return repr((self.nome, self.nota, self.idade))

estudante_objeto = [
    Estudante('David', 'A', 15),
    Estudante('José', 'B', 12),
    Estudante('Ingrid', 'B', 10),
    Estudante('Maria', 'C', 13),
]

print(sorted(estudante_objeto, key=attrgetter('idade'), reverse=True))

Executado o código acima o resultado será esse:

[('David', 'A', 15), ('Maria', 'C', 13), ('José', 'B', 12), ('Ingrid', 'B', 10)]

Conclusão

Em conclusão, nesse artigo vimos 3 formas simples de ordenar listar utilizando o sorted Python.

Ou seja, se você deseja se tornar um programador Python recomendo estudar bastante sobre ordenação.

Até porque as empresas atualmente buscam muitos profissionais que possuem essa habilidade.

Clique no botão abaixo para acessar mais de 1400 cursos completos e com certificado válido.

ACESSAR CURSOS COM CERTIFICADO

Invista em você e conquiste uma excelente carreira profissional na área da tecnologia.

Enfim, muito obrigado por ler até aqui e espero que você consiga conquistar todos seus objetivos.

Um forte abraço!

Tags: | |

Sobre o Autor

Programador Viking
Programador Viking

DICA EXTRA: Algumas pessoas estão me perguntando qual é o curso que recomendo para quem deseja aprender programação, mesmo sem ter qualquer conhecimento sobre o assunto. Minha recomendação, tanto para quem está iniciando, como para quem já possui mais experiência, é essa AQUI...

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

plugins premium WordPress