Narhost geliştirici ortamında, iç içe sözlük yapılarında belirli değerlere dinamik olarak erişmek için reduce fonksiyonunu kullanabilirsiniz.
from functools import reduce
# Örnek sözlük yapısı
sozluk = {
‘status’: True,
‘message’: {‘battery’: 35, ‘digeralan’: 1983},
‘umut’: ‘kanat’
}
# Erişmek istediğimiz anahtarlar sıralı olarak burada
custom_col = (‘message’, ‘battery’)
# reduce ile iç içe sözlükteki değeri almak için fonksiyon
sonuc = reduce(
lambda d, key: d.get(key, None) if isinstance(d, dict) else None,
custom_col,
sozluk
)
print(sonuc) # Çıktı: 35
reduce fonksiyonu, custom_col içinde tanımlı anahtarları sırayla alır ve sözlük içerisinde derinlemesine gezinir.
Anahtar bulunamazsa veya erişilen yapı sözlük değilse None döner.
Bu örnekte sozluk['message']['battery'] değerine ulaşılır ve sonuç 35 olur.