No texto a classe set é descrita como uma coleção não ordenada de elementos. No entanto, ao testar na versão 3.7.0 do python os elementos são apresentados sempre de maneira ordenada. Isso foi uma mudança de uma versão para outra?
No texto a classe set é descrita como uma coleção não ordenada de elementos. No entanto, ao testar na versão 3.7.0 do python os elementos são apresentados sempre de maneira ordenada. Isso foi uma mudança de uma versão para outra?
Oi Hugo, na versão 3.7 permanece o comportamento do set
. Crie um set
de strings
e você verá que ele imprime em uma ordem aleatória, não ordenada.
>>> frutas = {'maça', 'laranja',,'pera', 'banana'}
>>> print(frutas)
{'laranja 'banana', 'perar', 'maça'}
Se você testou inserindo números inteiros pequenos, provavelmente o python vai imprimir ordenado já que armazena a referência de um intervalo de inteiros para ganhar tempo de processamento. Teste com valores inteiros maiores como
>>> x = {4567, 9803, 3749}
que gera a saída (no caso, no computador que fiz este teste):
>>> x
{9803, 3749, 4567}
Qualquer dúvida, você pode checar na documentação: https://docs.python.org/3/tutorial/datastructures.html#sets
Espero ter ajudado e bons estudos!
Thais, você tem razão! Bastou aumentar os números para o python imprimir eles aleatoriamente. Obrigado.