Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Kamus Python Saya Nampak Tersusun Walaupun Tidak Tersusun?

Mengapa Kamus Python Saya Nampak Tersusun Walaupun Tidak Tersusun?

Barbara Streisand
Lepaskan: 2024-11-28 01:43:11
asal
735 orang telah melayarinya

Why Does My Python Dictionary Appear Ordered Despite Being Unordered?

Penyusunan Kamus dalam Python

Mengapakah kamus Python seolah-olah dipesan apabila ia sepatutnya tidak tertib?

Pertimbangkan kamus 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",
}
Salin selepas log masuk

Apabila mencetak kamus dengan "n".join(myDict), susunan yang tidak dijangka diperhatikan:

name
nomadic
dead
port
realOwner
secret
slaves
team
y
x
Population
id
description
Salin selepas log masuk

Walaupun kamus Python memang tidak tertib, susunan yang sama dihasilkan secara konsisten.

Pelaksanaan Dasar

Dalam versi Python yang lebih lama, kamus telah dilaksanakan sebagai jadual cincang. Jadual cincang menggunakan fungsi untuk memetakan kunci ke lokasi tertentu dalam tatasusunan, menghasilkan susunan yang nampaknya sewenang-wenang tetapi konsisten.

Pelaksanaan Dict Tertib

Python telah menyemak semulanya pelaksanaan dict untuk mengekalkan susunan sisipan. Jaminan ini berkesan dari Python 3.7 dan seterusnya. Oleh itu, pelaksanaan kamus tidak lagi berdasarkan jadual cincang semata-mata, walaupun jadual cincang masih digunakan dalam pembinaannya.

Atas ialah kandungan terperinci Mengapa Kamus Python Saya Nampak Tersusun Walaupun Tidak Tersusun?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan