Skip to main content

🐍 Python Sözlük (Dictionary) Yapılarına Eleman Ekleme ve Güncelleme

📘 Bu Rehberde Ne Öğreneceksiniz?

Bu rehberde, Python sözlük yapılarına eleman ekleme ve güncelleme için kullanılan dört temel yöntemi öğreneceksiniz:
Atama operatörü (=), .update() metodu, birleştirme (|) ve güncelleme (|=) operatörleri.
Ayrıca performans, bellek yönetimi ve koşullu ekleme gibi pratik ipuçlarını da keşfedeceksiniz.


🧩 1️⃣ Atama Operatörü (=) ile Eleman Ekleme

Python’da tek bir anahtar-değer çifti eklemek veya güncellemek için en hızlı yöntemdir.

veri_havuzu = {'urun': 'Rabisu Cloud Sunucu', 'fiyat': 1500}

print("Orijinal sözlük:", veri_havuzu)

veri_havuzu['fiyat'] = 1800 # Mevcut anahtar güncellenir
veri_havuzu['stok'] = 100 # Yeni anahtar eklenir

print("Güncellenmiş sözlük:", veri_havuzu)

📝 Açıklama:

veri_havuzu['fiyat'] mevcut değeri değiştirir.

veri_havuzu['stok'] yeni anahtar ekler.

Çıktı:


Orijinal sözlük: {'urun': 'Rabisu Cloud Sunucu', 'fiyat': 1500}
Güncellenmiş sözlük: {'urun': 'Rabisu Cloud Sunucu', 'fiyat': 1800, 'stok': 100}

⚙️ Anahtar Ezilmeden (Koşullu) Ekleme Var olan bir anahtarın değerinin yanlışlıkla üzerine yazılmasını önlemek için if koşulu kullanın:


ayarlar = {'tema': 'koyu', 'dil': 'tr'}

if 'bolge' not in ayarlar:
ayarlar['bolge'] = 'tr1-node01'

print(ayarlar)

Çıktı:


{'tema': 'koyu', 'dil': 'tr', 'bolge': 'tr1-node01'}

🧰 2️⃣ update() Metodu ile Toplu Güncelleme

Birden fazla anahtar-değer çiftini tek seferde eklemenizi sağlar.


site = {'Platform': 'Rabisu', 'Rehber': 'Python Sözlük Güncelleme'}

print("Orijinal:", site)

site.update({'Yazar': 'Rabisu', 'Kategori': 'Python'})
print("Yeni bilgiler eklendi:", site)

ek_bilgi = {'Sunucu': 'tr1-node01', 'Ip': '192.168.1.1'}
site.update(ek_bilgi)
print("Ek bilgiler eklendi:", site)

🧠 Not: .update() metodu orijinal sözlüğü yerinde (in-place) değiştirir. Eğer aynı anahtar varsa, yeni değer eskiyi ezerek günceller.


🔗 3️⃣ Birleştirme Operatörü (|) – Python 3.9+

İki sözlüğü birleştirip yeni bir sözlük döndürür, orijinalleri değiştirmez.


ayarlar_varsayilan = {'host': 'localhost', 'port': 5432}
ayarlar_kullanici = {'port': 3306, 'ssl': True}

birlesik_ayar = ayarlar_varsayilan | ayarlar_kullanici
print("Yeni birleşik ayar:", birlesik_ayar)

📝 Açıklama: Sağdaki sözlükteki aynı anahtarlar önceliklidir (port değeri 3306 olur). Orijinal sözlükler değişmeden kalır.


🛠️ 4️⃣ Güncelleme Operatörü (|=) – Python 3.9+

|= operatörü .update() ile aynı işlevi görür, ancak daha modern bir sözdizimi sunar.


ana_ayar = {'host': 'localhost', 'log_seviyesi': 'INFO'}
ek_ayar = {'port': 8080, 'log_seviyesi': 'DEBUG'}

ana_ayar |= ek_ayar
print("Güncel ayar:", ana_ayar)

Çıktı:


{'host': 'localhost', 'log_seviyesi': 'DEBUG', 'port': 8080}

🧠 Fark:

update() → mevcut sözlüğü değiştirir

|= → aynı işlemi kısa ve okunabilir biçimde yapar


🚀 Performans ve Bellek Karşılaştırması

🧩 Yöntem💡 En Uygun Kullanım⚙️ Performans💾 Bellek Kullanımı
sözlük['anahtar'] = değerTek eleman eklemeEn Hızlı🔹 Düşük
.update()Toplu işlemHızlı🔹 Düşük (in-place)
``Yeni sözlük oluşturma⚙️ Orta
`=`Modern toplu güncellemeHızlı

💡 Ek ipucu: Yeni bir sözlük oluştururken dict() yerine kullanmak daha hızlıdır çünkü Python bunu derleme zamanında optimize eder.


🧠 İleri Seviye: Derin (Deep) Birleştirme

İç içe (nested) sözlükleri birleştirirken standart update() iç yapıyı korumaz. Bunun için özel bir fonksiyon kullanın:


def deep_merge(d1, d2):
result = d1.copy()
for k, v in d2.items():
if k in result and isinstance(result[k], dict) and isinstance(v, dict):
result[k] = deep_merge(result[k], v)
else:
result[k] = v
return result

💬 Sıkça Sorulan Sorular (SSS)

  1. Sözlüğe eleman eklemenin en hızlı yolu nedir?

dict[key] = value ile tek eleman eklemek en hızlı yöntemdir.

  1. dict() ve arasında fark var mı?

Evet. derleme zamanında optimize edilir, bu yüzden daha hızlıdır.

  1. update() ve | operatörü arasında fark nedir?

.update() mevcut sözlüğü değiştirir, | ise yeni bir sözlük oluşturur.

  1. Aynı anahtar iki sözlükte varsa ne olur?

İkinci (sağdaki) sözlükteki değer, birincinin üstüne yazılır.

  1. Anahtar yoksa ekle, varsa geç?

if 'anahtar' not in sozluk:
sozluk['anahtar'] = deger

🎯 Sonuç

Bu rehberde Python sözlüklerine veri ekleme ve güncellemenin dört temel yöntemini öğrendiniz: =, .update(), | ve |=

Performans, bellek verimliliği ve okunabilirlik açısından:

Tek eleman için =

Toplu işlemde .update()

Yeni sözlük için |

Yerinde güncelleme için |= önerilir.