Rumah >pembangunan bahagian belakang >Tutorial Python >Bolehkah defaultdict secara Rekursif Berkhidmat sebagai Nilai Lalai Sendiri untuk Infinite Nesting?
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))
Konstruk ini memberikan kelebihan berikut:
Contoh:
x = defaultdict(lambda: defaultdict(dict)) x[0][1][0] {} # returns an empty dictionary
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!