Dalam versi Python yang lebih lama, susunan kunci dalam kamus selalunya tidak dapat diramalkan. Ini boleh menyebabkan kekeliruan dan hasil yang tidak konsisten apabila mengakses data.
Sebelum Python 3.6, susunan kunci dalam kamus adalah ditentukan oleh nilai cincang kunci. Ini bermakna susunan kunci boleh berubah dari semasa ke semasa, walaupun nilainya kekal sama. Contohnya, dalam blok kod yang anda berikan:
d = {'a': 0, 'b': 1, 'c': 2} l = d.keys() print(l)
Susunan kunci dalam senarai l yang terhasil ialah ['a', 'c', 'b']. Tertib ini tidak dijamin dan boleh berubah dalam lelaran gelung masa hadapan.
Untuk memastikan susunan kekunci dikekalkan, beberapa pendekatan boleh digunakan:
Sejak Python 3.7, kamus mengekalkan susunan sisipan secara lalai. Ini bermakna anda boleh bergantung pada susunan kunci yang dipelihara.
Untuk pelaksanaan CPython Python 3.6, kamus juga mengekalkan susunan sisipan secara lalai. Walau bagaimanapun, tingkah laku ini adalah khusus pelaksanaan dan tidak dijamin merentas pelaksanaan Python yang berbeza.
Untuk menguatkuasakan susunan kunci dalam versi Python sebelum 3.6 , anda boleh menggunakan kelas collections.OrdedDict. Kelas ini secara khusus mengekalkan susunan kunci semasa ia dimasukkan:
from collections import OrderedDict d = OrderedDict({'a': 0, 'b': 1, 'c': 2}) print(list(d.keys())) # Output: ['a', 'b', 'c']
Atas ialah kandungan terperinci Bagaimana Anda Mengekalkan Susunan Utama dalam Kamus Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!