Classifique uma lista em ordem alfabética em Python

Manav Narula 30 janeiro 2023
  1. Use o método sort() para classificar uma lista em ordem alfabética em Python
  2. Use a função sorted() para ordenar uma lista alfabeticamente em Python
  3. Use o algoritmo de classificação rápida para classificar uma lista em ordem alfabética em Python
Classifique uma lista em ordem alfabética em Python

Neste tutorial, discutiremos como classificar uma lista contendo strings em ordem alfabética usando as funções sort() e sorted() e usando o algoritmo de classificação rápida.

Tanto sort() como sorted() podem executar a mesma função, com a principal diferença entre eles sendo que a função sort() ordena a lista original, enquanto a função sorted() cria uma nova lista.

Use o método sort() para classificar uma lista em ordem alfabética em Python

O método sort() do objeto de lista é usado para classificar uma lista. Por padrão, ele classifica a lista em ordem crescente. Por exemplo:

my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]
my_list.sort()
print(my_list)

Resultado:

['Baron', 'Jack', 'Jay', 'Mark', 'Sam']

Para classificar a lista na ordem inversa, podemos usar o parâmetro reverse e defini-lo como True. É False por padrão. Por exemplo:

my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]
my_list.sort(reverse=True)
print(my_list)

Resultado:

['Sam', 'Mark', 'Jay', 'Jack', 'Baron']

Observe que a ordem da lista classificada foi invertida. Também podemos especificar a condição de classificação usando o parâmetro key. No código a seguir, classificaremos a lista com base no comprimento da string de cada elemento em ordem crescente:

my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]
my_list.sort(key=len)
print(my_list)

Resultado:

['Sam', 'Jay', 'Mark', 'Jack', 'Baron']

Use a função sorted() para ordenar uma lista alfabeticamente em Python

A função sorted() também ordena uma lista na ordem necessária, mas cria uma nova lista e não altera a lista original. Para classificar alfabeticamente em ordem crescente, simplesmente passamos para a função conforme mostrado abaixo.

my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]
sorted_list = sorted(my_list)
print(sorted_list)

Resultado:

['Baron', 'Jack', 'Jay', 'Mark', 'Sam']

Similarmente ao método sort(), podemos classificar em ordem decrescente usando o parâmetro reverse. Por exemplo:

my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]
sorted_list = sorted(my_list, reverse=True)
print(sorted_list)

Resultado:

['Sam', 'Mark', 'Jay', 'Jack', 'Baron']

Também podemos usar o parâmetro key para especificar a condição de classificação, como fizemos com a função sort(). Por exemplo:

my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]
sorted_list = sorted(my_list, reverse=True, key=len)
print(sorted_list)

Resultado:

['Baron', 'Mark', 'Jack', 'Sam', 'Jay']

Use o algoritmo de classificação rápida para classificar uma lista em ordem alfabética em Python

Também podemos usar o algoritmo de classificação rápida para classificar uma lista. Esse método pode não ser convencional, mas é importante observar que outras técnicas de classificação, como classificação por mesclagem, classificação por seleção, classificação por inserção, classificação por heap e classificação por bolha, também podem conseguir isso. O código a seguir mostra uma função que implementa o método quicksort para classificar uma lista em Python.

my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]


def quicksort(lst):
    if not lst:
        return []
    return (
        quicksort([x for x in lst[1:] if x < lst[0]])
        + [lst[0]]
        + quicksort([x for x in lst[1:] if x >= lst[0]])
    )


print(quicksort(my_list))

Resultado:

['Baron', 'Jack', 'Jay', 'Mark', 'Sam']
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 List