Sıralama ayarlansın mı?
Bildiğimiz gibi, kümedeki elemanların sırası dikkate alınmaz. Python 3'te kümeleri sıralama hakkında konuşmak mantıklı mı?! (Bu yüzden başlıkta soru işareti var)
Bir kümedeki bir öğeyi hızlı bir şekilde bulmak için, bunların bellekte sıralı bir biçimde saklanması tercih edilir.
Bazı örneklere bakalım. Aynı kümedeki farklı veri türlerindeki öğelere ne olur? Bu tür öğeler sıralanmamalıdır. Öğeleri print()
komutunu kullanarak yazdırırsak, çıktıları şu şekilde olur:
a = {0, 1, 12, 'b', 'ab', 3, 2, 'a'}
print(a) # {0, 1, 2, 3, 'a', 12, 'b', 'ab'}
Bu durumda sıralanmamış değerler görüntülenir. Başlatmayı tekrarlarsanız, çıkış sırası farklı olabilir. Ancak bu, yalnızca farklı türdeki öğeler karıştırılırsa olur.
Bir türdeki verileri görüntülemeye çalışalım (örneğin, yalnızca sayılar):
bir = {0, 1, 12, 3, 2}
print(a) # {0, 1, 2, 3, 12}
Tüm öğeler sırayla görüntülenir. Bir listeye dönüştürmeye çalışalım:
bir = {0, 1, 12, 3, 2}
b = liste(a)
yazdır(b) # [0, 1, 2, 3, 12]
Benzer şekilde, artan sırada sıralanan öğeler de listeye yazılmıştır.
Aynı türdeyse, öğelerin bellekte sıralı bir biçimde depolandığı ortaya çıktı. Ancak buna güvenmemek daha iyidir, Python algoritmaları değişebilir.
Bir kümeden sıralanmış bir liste almanız gerekiyorsa, sıralama
(< code>sorted) işlevinden emin olmak için ). Öğeler tam olarak sıralanacaktır. Kodunuz başkaları tarafından anlaşılır olacaktır.