Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengelakkan Rujukan Senarai Dikongsi Apabila Mencipta Kamus Senarai Kosong dalam Python?

Bagaimana untuk Mengelakkan Rujukan Senarai Dikongsi Apabila Mencipta Kamus Senarai Kosong dalam Python?

Linda Hamilton
Lepaskan: 2024-11-30 03:44:11
asal
710 orang telah melayarinya

How to Avoid Shared List References When Creating a Dictionary of Empty Lists in Python?

Memulakan Kamus Senarai Kosong dalam Python

Apabila cuba mencipta kamus senarai, anda mungkin menghadapi isu yang tidak dijangka di mana semua kunci dalam kamus berkongsi perkara yang sama rujukan senarai. Ini berlaku apabila menggunakan kaedah fromkeys() dan menghantar senarai kosong sebagai argumen kedua.

Cara Menggunakan fromkeys() Dengan Betul

Kaedah dict.fromkeys() mengambil dua argumen: a koleksi kunci dan nilai. Ia mencipta kamus baharu dengan kekunci yang disediakan dan setiap kekunci dipetakan kepada nilai yang ditentukan.

Walau bagaimanapun, jika senarai kosong [] diluluskan sebagai nilai, semua kunci dalam kamus yang dihasilkan akan diberikan objek senarai yang sama. Ini bermakna bahawa sebarang pengubahsuaian pada satu kunci juga akan menjejaskan semua kunci lain.

Penyelesaian Alternatif

Untuk mencipta kamus senarai yang berbeza, pertimbangkan untuk menggunakan salah satu kaedah berikut:

Pemahaman Dict (Python 2.7 )

data = {k: [] for k in range(2)}
Salin selepas log masuk

Senaraikan Pemahaman dengan dict() Constructor

data = dict([(k, []) for k in range(2)])
Salin selepas log masuk

Ekspresi Penjana dengan dict() Constructor (Python 2.4-2.6 )

data = dict((k, []) for k in range(2))
Salin selepas log masuk

Kaedah ini pastikan setiap kunci dalam kamus dikaitkan dengan objek senarai berasingan, membenarkan kemas kini kunci individu tanpa menjejaskan kunci lain.

Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Rujukan Senarai Dikongsi Apabila Mencipta Kamus Senarai Kosong dalam Python?. 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