Classifique uma lista em ordem alfabética em Python
-
Use o método
sort()
para classificar uma lista em ordem alfabética em Python -
Use a função
sorted()
para ordenar uma lista alfabeticamente em Python - 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 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 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