Definir classificação?
Como sabemos, a ordem dos elementos no conjunto não é levada em consideração. Então, faz sentido falar sobre ordenação de conjuntos em Python 3?! (É por isso que há um ponto de interrogação no título)
Para encontrar rapidamente um elemento em um conjunto, é desejável armazená-los na memória de forma ordenada.
Vejamos alguns exemplos. O que acontece com elementos de diferentes tipos de dados no mesmo conjunto? Esses elementos não devem ser classificados. Se imprimirmos elementos usando o comando print()
, eles serão exibidos assim:
a = {0, 1, 12, 'b', 'ab', 3, 2, 'a'}
print(a) # {0, 1, 2, 3, 'a', 12, 'b', 'ab'}
Nesse caso, valores não classificados são exibidos. Se você repetir o lançamento, a ordem de saída pode ser diferente. Mas isso é apenas se elementos de tipos diferentes forem misturados.
Vamos tentar exibir dados de um tipo (por exemplo, apenas números):
a = {0, 1, 12, 3, 2}
print(a) # {0, 1, 2, 3, 12}
Todos os elementos são exibidos em ordem. Vamos tentar convertê-lo em uma lista:
a = {0, 1, 12, 3, 2}
b = lista(a)
print(b) # [0, 1, 2, 3, 12]
Da mesma forma, os elementos classificados em ordem crescente foram gravados na lista.
Acontece que os elementos são armazenados na memória de forma ordenada se forem do mesmo tipo. Mas é melhor não contar com isso, os algoritmos do Python podem mudar.
Se você precisa obter uma lista ordenada de um conjunto, é melhor usar sort
(< code>sorted) função para ter certeza ). Os elementos serão classificados exatamente. Seu código será compreensível para outras pessoas.