Bagaimana untuk Mencipta Kamus Bersarang Dinamik dengan Kedalaman Tanpa Had dalam Python?

Patricia Arquette
Lepaskan: 2024-10-17 10:08:01
asal
693 orang telah melayarinya

How to Create Dynamically Nested Dictionaries with Unlimited Depth in Python?

Kamus Bersarang Dinamik dengan Kedalaman Tidak Ditakrifkan

Dalam senario yang melibatkan struktur data berbilang peringkat yang kompleks, ia sering menghadapi keperluan untuk kamus dengan sarang berubah-ubah peringkat. Walaupun pernyataan sisipan pengekodan keras merupakan penyelesaian yang berpotensi, pendekatan ini tidak praktikal apabila kedalaman sarang tidak diketahui terlebih dahulu.

Untuk mengatasi pengehadan ini, pertimbangkan untuk menggunakan koleksi Python.defaultdict, yang membolehkan penciptaan kamus dinamik. Kamus bersarang boleh dibuat menggunakan ungkapan lambda berikut:

<code>nested_dict = lambda: defaultdict(nested_dict)</code>
Salin selepas log masuk

Fungsi lambda ini menghasilkan kamus bersarang yang berkelakuan sama dengan tingkah laku lalai lalai mencipta kamus untuk kekunci yang hilang. Ia membolehkan penciptaan kamus dengan kedalaman sewenang-wenangnya tanpa memerlukan definisi yang jelas.

Untuk menunjukkan penggunaannya, pertimbangkan contoh berikut:

<code>nest = nested_dict()
nest[0][1][2][3][4][5] = 6</code>
Salin selepas log masuk

Dalam contoh ini, kamus dengan enam sarang tahap dicipta secara dinamik dengan hanya mengakses kekunci yang sesuai dalam objek nested_dict. Pendekatan ini menawarkan cara yang fleksibel dan cekap untuk mewakili data berbilang peringkat, tanpa mengira kedalaman mereka.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Kamus Bersarang Dinamik dengan Kedalaman Tanpa Had dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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