Tetapkan pengisihan?
Seperti yang kita tahu, susunan elemen dalam set tidak diambil kira. Jadi adakah masuk akal untuk bercakap tentang menyusun set dalam Python 3?! (Sebab tu ada tanda soal dalam tajuk)
Untuk mencari elemen dalam set dengan cepat, adalah wajar untuk menyimpannya dalam ingatan dalam bentuk tersusun.
Mari kita lihat beberapa contoh. Apakah yang berlaku kepada unsur jenis data yang berbeza dalam set yang sama? Unsur sedemikian tidak boleh diisih. Jika kita mencetak elemen menggunakan perintah print()
, ia akan dikeluarkan seperti ini:
a = {0, 1, 12, 'b', 'ab', 3, 2, 'a'}
cetak(a) # {0, 1, 2, 3, 'a', 12, 'b', 'ab'}
Dalam kes ini, nilai yang tidak diisih dipaparkan. Jika anda mengulangi pelancaran, maka susunan output mungkin berbeza. Tetapi ini hanya jika unsur-unsur pelbagai jenis dicampur.
Mari cuba memaparkan data satu jenis (contohnya, nombor sahaja):
a = {0, 1, 12, 3, 2}
print(a) # {0, 1, 2, 3, 12}
Semua elemen dipaparkan mengikut urutan. Mari cuba tukarkannya kepada senarai:
a = {0, 1, 12, 3, 2}
b = senarai(a)
cetak(b) # [0, 1, 2, 3, 12]
Begitu juga, unsur-unsur yang disusun dalam tertib menaik telah ditulis pada senarai.
Ternyata unsur disimpan dalam ingatan dalam bentuk tersusun jika ia daripada jenis yang sama. Tetapi adalah lebih baik untuk tidak mengharapkannya, algoritma Python boleh berubah.
Jika anda perlu mendapatkan senarai diisih daripada set, lebih baik menggunakan isih
(< code>sorted) fungsi untuk memastikan ). Unsur-unsur akan disusun dengan tepat. Kod anda akan dapat difahami oleh orang lain.