Menyingkap Susunan Kamus Python: Terokai Mekanik Lelaran
Selalunya, pengaturcara menghadapi pesanan yang tidak dijangka semasa mengulangi kamus dalam Python, mengakibatkan urutan kunci yang berbeza. Untuk menyelidiki mekanik asas, mari kita periksa cara kerja kamus Python.
Versi awal Python menyimpan kamus dalam jadual cincang, yang susunannya adalah tersirat dan tidak kelihatan serta-merta. Akibatnya, susunan unsur kelihatan sewenang-wenangnya, tetapi tetap konsisten untuk mana-mana kamus tertentu. Tingkah laku ini sejajar dengan tepat dengan pemerhatian yang disebut dalam pertanyaan.
Walau bagaimanapun, dalam versi Python berikutnya, bermula dengan 3.7, perubahan ketara berlaku. Kamus kini mengekalkan susunan sisipan. Ini menunjukkan bahawa apabila melelaran melalui kamus, unsur-unsur akan muncul dalam urutan ia telah ditambah. Perubahan ini melindungi daripada tertib sewenang-wenang yang dilihat dalam versi Python yang lebih lama.
Untuk menggambarkan perubahan ini, pertimbangkan coretan kod berikut:
propertyList = { "id": "int", "name": "char(40)", "team": "int", "realOwner": "int", "x": "int", "y": "int", "description": "char(255)", "port": "bool", "secret": "bool", "dead": "bool", "nomadic": "bool", "population": "int", "slaves": "int", }
Jika anda mengulangi kamus ini dalam versi Python sebelum 3.7, anda akan melihat susunan yang sama seperti yang dipaparkan dalam pertanyaan. Walau bagaimanapun, dalam Python 3.7 dan ke atas, elemen akan dicetak mengikut susunan ia telah ditambahkan pada kamus.
Peralihan ini menggariskan peningkatan berterusan Python, menawarkan lebih fleksibiliti dan kebolehramalan dalam mengendalikan kamus. Kini, pengaturcara boleh bergantung pada tertib sisipan yang dipelihara apabila mengulangi kamus, menghapuskan ketidakpastian versi Python terdahulu.
Atas ialah kandungan terperinci Mengapa Perintah Lelaran Kamus Python Berubah Antara Versi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!