Impostare l'ordinamento?
Come sappiamo, l'ordine degli elementi nell'insieme non viene preso in considerazione. Quindi ha senso parlare di insiemi di ordinamento in Python 3?! (Ecco perché c'è un punto interrogativo nel titolo)
Per trovare rapidamente un elemento in un insieme, è consigliabile memorizzarli in una forma ordinata.
Diamo un'occhiata ad alcuni esempi. Cosa succede agli elementi di diversi tipi di dati nello stesso set? Tali elementi non dovrebbero essere ordinati. Se stampiamo gli elementi usando il comando print()
, verranno visualizzati in questo modo:
a = {0, 1, 12, 'b', 'ab', 3, 2, 'a'}
print(a) # {0, 1, 2, 3, 'a', 12, 'b', 'ab'}
In questo caso, vengono visualizzati valori non ordinati. Se ripeti il lancio, l'ordine di output potrebbe essere diverso. Ma questo è solo se vengono mescolati elementi di tipi diversi.
Proviamo a visualizzare dati di un tipo (ad esempio, solo numeri):
un = {0, 1, 12, 3, 2}
print(a) # {0, 1, 2, 3, 12}
Tutti gli elementi vengono visualizzati in ordine. Proviamo a convertirlo in una lista:
un = {0, 1, 12, 3, 2}
b = lista(a)
stampa(b) # [0, 1, 2, 3, 12]
Allo stesso modo, gli elementi ordinati in ordine crescente sono stati scritti nell'elenco.
Si scopre che gli elementi sono archiviati in memoria in una forma ordinata se sono dello stesso tipo. Ma è meglio non contarci, gli algoritmi di Python possono cambiare.
Se hai bisogno di ottenere un elenco ordinato da un insieme, è meglio usare sort
(< code>sorted) per essere sicuri ). Gli elementi saranno esattamente ordinati. Il tuo codice sarà comprensibile per gli altri.