Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mengemas kini Kamus Bersarang Kedalaman Pembolehubah Sambil Mengekalkan Nilai Tertentu?
Mengemas kini Kamus Bersarang bagi Kedalaman Pembolehubah
Anda menghadapi dilema apabila cuba mengemas kini kamus bersarang (kamus1) dengan kandungan kamus lain (kemas kini) sambil mengekalkan nilai tertentu dalam struktur bersarang. Khususnya, anda ingin mengemas kini kunci "level2" dalam kamus1 tanpa menulis ganti nilai "levelA".
Untuk menangani cabaran ini, penyelesaian rekursif dicadangkan. Kod Python berikut melaksanakan pendekatan ini:
def merge_dicts(dict1, dict2): for key in dict2: if key in dict1 and isinstance(dict1[key], dict) and isinstance(dict2[key], dict): merge_dicts(dict1[key], dict2[key]) else: dict1[key] = dict2[key]
Fungsi ini secara rekursif merentasi kedua-dua kamus dan mengemas kini nilai berdasarkan peraturan berikut:
Dengan menggunakan pendekatan rekursif ini, anda boleh mengubah suai bersarang kamus dengan kedalaman yang berbeza-beza sambil mengekalkan nilai tertentu.
Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Kamus Bersarang Kedalaman Pembolehubah Sambil Mengekalkan Nilai Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!