Apabila mendapatkan semula kunci kamus menggunakan kaedah keys() dalam versi Python sebelum 3.7, susunan kunci dalam senarai yang dikembalikan mungkin kelihatan sewenang-wenangnya. Ketidakpastian ini berpunca daripada cara Python mengendalikan kamus dalam versi terdahulu.
Bermula dengan Python 3.7, kamus mengekalkan susunan sisipan secara lalai. Ini bermakna kekunci dalam senarai keluaran keys() akan sepadan dengan susunan ia dimasukkan ke dalam kamus.
Dalam Python 3.6 (khususnya pelaksanaan CPython ), kamus juga lalai kepada pemeliharaan pesanan sisipan. Walau bagaimanapun, ini dianggap sebagai perincian pelaksanaan dan kebolehpercayaannya merentas pelaksanaan Python yang berbeza tidak dijamin.
Untuk versi Python antara 2.7 dan 3.6, susunan kekunci dalam senarai kekunci() ditentukan oleh fungsi cincang. Fungsi cincang ini tidak dijamin stabil, jadi susunan kunci mungkin berbeza antara pelaksanaan, walaupun dengan data input yang sama.
Untuk memastikan susunan sisipan dalam versi Python yang lebih awal ini, anda harus menggunakan koleksi. Kelas OrderedDict. Kelas ini menjamin bahawa kunci akan diambil mengikut susunan ia dimasukkan:
import collections d = collections.OrderedDict({'a': 0, 'b': 1, 'c': 2}) l = d.keys() print(l) # Output: ['a', 'b', 'c']
Atas ialah kandungan terperinci Bagaimanakah Python mengendalikan susunan kunci kamus dalam versi sebelum 3.7?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!