Classifique uma lista em ordem alfabética em Python

  1. Use o método sort() para classificar uma lista em ordem alfabética em Python
  2. Use a função ordenada() 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

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

Tanto sort() como ordenado() 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 ordenado() 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 ordenada() para ordenar uma lista alfabeticamente em Python

A função ordenada() 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']

Artigo relacionado - Python List

  • Limpar uma lista em Python
  • Remover duplicatas da lista em Python