# Sözlüğü sergilemek için Python kodu ve
# eksik değer hatası
=
{
`a`
:
1
,
` b`
:
2
}
# eksik anahtarın değerini görüntülemeye çalışıyor
print
(
"c` ile ilişkilendirilen değer: "
)
print
(d [
` c`
])
Hata:
Geri izleme (en son arama): Dosya "46a9aac96614587f5b794e451a8f4f5f.py", satır 9, baskıda (d [`c`]) KeyError:` c`
In Yukarıdaki örnekte, sözlükte "c" adlı hiçbir anahtar çalışma zamanı hatası vermedi. Bu tür durumlardan kaçınmak ve belirli bir anahtarın eksik olduğu konusunda kullanıcıyı uyarmak veya o konuma varsayılan bir mesaj göndermek için, eksik anahtarları ele almanın birkaç yolu vardır.
Yöntem 1: get () işlevini kullanmak
Bir anahtarı doğrulamamız gerektiğinde get (key, def_val) yöntemi yararlıdır. Anahtar varsa, anahtarla ilişkili değer yazdırılır, aksi takdirde bağımsız değişkenlerde iletilen def_değeri döndürülür.
Yöntem 2: setdefault () kullanma
setdefault (anahtar, def_value) , get () gibi çalışır, ancak fark şudur ki, her anahtar eksik olduğunda, def_value ile ilişkili bir def_value ile yeni bir anahtar oluşturulur argümanlara anahtar iletildi.
- Varsayılan, bildirimde ayarlanır. Fonksiyonu tekrar tekrar çağırmak ve aynı değerleri argüman olarak iletmek için gerek yoktur. Bu nedenle zaman tasarrufu .
- Defaultdict`i uygulamak, get () veya setdefault () işlevinden daha hızlıdır .
# defaultdict göstermek için Python kodu
# import & quot; koleksiyonlar " defaultdict için
import
koleksiyonlar
# varsayılan bildirim
# eksik anahtarlar için varsayılan "Anahtar bulunamadı" değerini ayarlar
defd
=
koleksiyonlar. defaultdict (
lambda
:
`Anahtar bulunamadı`
< kod sınıfı = "düz">)
`a`
]
=
1
# değerleri başlatıyor
defd [
`b`
]
=
2
# print value
print
(
"a` ile ilişkilendirilen değer: "
, bitiş
(defd [
`a`
])
# ' ile ilişkili yazdırma değeri '
print
(
"İle ilişkili değer ` c` : "
, end
=
" ")
yazdır
( defd [
`c`
])
Çıktı:
`a` ile ilişkili değer: 1` c` ile ilişkili değer: Anahtar Bulunamadı
Bu makale Manjeet Singh . Python.Engineering iseniz ve katkıda bulunmak istiyorsanız, Contribute.python.engineering kullanarak veya bir makale yayınlayarak da bir makale yazabilirsiniz. @ python.engineering`e katkıda bulunun. Python.Engineering ana sayfasında görünen makaleme bakın ve diğer meraklılara yardımcı olun.
Yanlış bir şey bulursanız veya yukarıda tartışılan konu hakkında daha fazla bilgi paylaşmak istiyorsanız lütfen yorum gönderin.