Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Memulakan Kamus Senarai Kosong dengan betul dalam Python?

Bagaimana untuk Memulakan Kamus Senarai Kosong dengan betul dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-11-28 00:35:12287semak imbas

How to Properly Initialize a Dictionary of Empty Lists in Python?

Pendekatan untuk Memulakan Kamus Senarai Kosong dalam Python

Mencipta kamus senarai dalam Python boleh dicapai menggunakan pelbagai kaedah. Walau bagaimanapun, jika percubaan dibuat menggunakan kaedah dict.fromkeys(), seseorang mungkin menghadapi masalah apabila mengemas kini kunci individu turut mengubah suai semua kunci lain dalam kamus.

Memahami dict.fromkeys( ) Kaedah

Kaedah dict.fromkeys() dalam Python memulakan kamus baharu dengan kunci yang ditentukan dengan hujah pertama. Nilai yang dikaitkan dengan setiap kunci ialah hujah kedua, yang lalai kepada Tiada. Apabila senarai kosong [] disediakan sebagai hujah kedua, semua nilai dalam kamus yang terhasil merujuk kepada objek senarai yang sama. Tingkah laku ini membawa kepada hasil yang tidak dijangka yang disebut dalam soalan.

Kaedah Alternatif untuk Permulaan

Untuk mengelakkan isu yang disebutkan di atas, pendekatan alternatif boleh digunakan:

1. Dict Comprehension (Python 2.7 and Higher)

data = {key: [] for key in range(2)}

Pendekatan ini menggunakan pemahaman kamus untuk mencipta kamus baharu di mana setiap kunci dipetakan ke senarai kosong.

2. Pemahaman Senarai (Python 2.4-2.6)

data = dict([(key, []) for key in range(2)])

Dalam kes ini, pemahaman senarai digunakan untuk menjana senarai tupel, di mana setiap tupel terdiri daripada kunci dan senarai kosong. Senarai tupel kemudian diserahkan kepada pembina dict untuk mencipta kamus.

3. Ungkapan Penjana (Python 2.4-2.6)

data = dict((key, []) for key in range(2))

Sama seperti pendekatan pemahaman senarai, ungkapan penjana boleh digunakan terus dalam pembina dict, menghapuskan keperluan untuk kurungan di sekelilingnya.

Atas ialah kandungan terperinci Bagaimana untuk Memulakan Kamus Senarai Kosong dengan betul dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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