Pesanan Elemen Set Python Disahkan
Set dalam Python ialah koleksi tidak tersusun, tetapi corak tertentu muncul dalam susunan yang dipaparkan. Walaupun kelihatan konsisten, tertib ini terhasil daripada mekanisme pencincangan Python.
Pencincangan dan Peletakan Memori
Python mencincang setiap elemen dan menggunakan N bit terakhir cincang sebagai tatasusunan indeks untuk penempatan ingatan. Susunan unsur dalam ingatan dengan itu menentukan susunannya yang dipaparkan.
Resolusi Perlanggaran
Apabila dua elemen mempunyai cincang yang sama, mekanisme resolusi perlanggaran meletakkannya di lokasi memori alternatif. Susunan sisipan elemen (jika terdapat hanya satu elemen atau berbilang elemen dengan cincang yang sama) mempengaruhi lokasi tepat elemen dalam ingatan.
Contoh
Dalam contoh berikut, susunan elemen dalam set bercetak adalah konsisten kerana resolusi perlanggaran:
set_1 = set([5, 2, 7, 2, 1, 88]) set_1 # set([88, 1, 2, 5, 7]) set_2 = set([8, 16, 24]) set_2 # set([8, 16, 24])
Perhatikan bahawa menukar susunan sisipan dalam senarai input boleh mengubah susunan yang dipaparkan jika terdapat perlanggaran utama. Contohnya:
set_3 = set([24, 16, 8]) set_3 # set([24, 16, 8])
Cincang Unik dan Pemeliharaan Pesanan
Dalam kes di mana unsur mempunyai nilai cincang yang unik, susunan sisipan dikekalkan:
set_4 = set([1, 2, 3]) set_4 # set([1, 2, 3])
Nota:
Pelaksanaan yang diterangkan digunakan untuk Dict dan set CPython, dan ia mungkin berbeza dalam versi tertentu. Walau bagaimanapun, prinsip umum pencincangan dan peletakan memori kekal sama.
Atas ialah kandungan terperinci Mengapa Set Python Memaparkan Elemen dalam Cara yang Nampak Tersusun?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!