Rumah > pembangunan bahagian belakang > Tutorial Python > Bolehkah defaultdict secara Rekursif Berkhidmat sebagai Nilai Lalai Sendiri untuk Infinite Nesting?

Bolehkah defaultdict secara Rekursif Berkhidmat sebagai Nilai Lalai Sendiri untuk Infinite Nesting?

Susan Sarandon
Lepaskan: 2024-11-28 02:35:12
asal
488 orang telah melayarinya

Can a defaultdict Recursively Serve as its Own Default Value for Infinite Nesting?

Mencipta lalai Infinitely Nested of defaultdict

Soalan:

Adakah mungkin untuk membuat defaultdict yang juga berfungsi sebagai nilai lalai untuk dirinya sendiri, menghasilkan lalai rekursif peringkat tak terhingga? Matlamatnya adalah untuk membolehkan akses kepada elemen bersarang dalam tanpa menghadapi pengecualian KeyError.

Jawapan:

Sementara jawapan lain menangani penciptaan lalai bersarang "infinitely many", mereka mengabaikan keperluan khusus untuk lalai dua mendalam. Untuk mencapai matlamat ini, kod berikut boleh digunakan:

defaultdict(lambda: defaultdict(dict))
Salin selepas log masuk

Konstruk ini memberikan kelebihan berikut:

  • Kejelasan: Ia lebih mudah dan boleh difahami daripada pendekatan rekursif.
  • Daun Boleh Disesuaikan: Ia membolehkan penyesuaian nilai "daun" lalai diklat menjadi sesuatu selain daripada kamus, seperti senarai atau set.

Contoh:

x = defaultdict(lambda: defaultdict(dict))
x[0][1][0]
{}  # returns an empty dictionary
Salin selepas log masuk

Atas ialah kandungan terperinci Bolehkah defaultdict secara Rekursif Berkhidmat sebagai Nilai Lalai Sendiri untuk Infinite Nesting?. 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