Python sözlüğü oluşturulduktan sonra anahtar eklemek mümkün mü? .add()
foksiyonu olmadan bu işlemi nasıl yapabiliriz?
Eğer tek bir anahtar değer çifti eklemek istiyorsak yeni bir anahtara değer atayarak sözlükte ek bir anahtar/değer çifti oluşturursunuz.
d = {'key': 'value'}
print(d) # {'key': 'value'}
d['mynewkey'] = 'mynewvalue'
print(d) # {'key': 'value', 'mynewkey': 'mynewvalue'}
Aynı anda birden çok anahtar eklemek için dict.update()
kullanın:
>>> x = {1:2}
>>> print(x)
{1: 2}
>>> d = {3:4, 5:6, 7:8}
>>> x.update(d)
>>> print(x)
{1: 2, 3: 4, 5: 6, 7: 8}
Tek bir anahtar eklemek için anahtar-değer işlemi daha az hesaplama yükü taşır. Birden çok anahtar için ise dict.update() daha uygundur.
Python Sözlükleri
Boş sözlük oluşturma
Boş bir sözlük oluşturmak için aşağıdaki seçeneklerden birisini kullanabiliriz.
data = {}
# VEYA
data = dict()
Başlangıç değerlerine sahip sözlük oluşturma
data = {'a': 1, 'b': 2, 'c': 3}
# VEYA
data = dict(a=1, b=2, c=3)
# VEYA
data = {k: v for k, v in (('a', 1), ('b',2), ('c',3))}
Tek bir değer ekleme/güncelleştirme
data['a'] = 1 # 'a' anahtarı varsa günceller, yoksa ekler
# VEYA
data.update({'a': 1})
# VEYA
data.update(dict(a=1))
# VEYA
data.update(a=1)
Birden çok değer ekleme/güncelleştirme
data.update({'c':3,'d':4}) # Updates 'c' and adds 'd'
Python 3.9+:
|= operatörü sözlükler için de çalışır:
data |= {'c':3,'d':4}
Sözlükteki öğeleri silme
del data[key] # Sözlükten spesifik bir öğeyi siler
data.pop(key) # Anahtarı siler ve değeri döndürür
data.clear() # Tüm sözlüğü temizler
Anahtarın sözlükte olup olmadığını denetleme
key in data
Sözlükteki çiftler arasında yineleme
for key in data: # Anahtarlar üzerinden döngü oluşturur, değerleri görmezden gelir
for key, value in d.items(): # Anahtar-değer üzerinden döngü oluşturur.
for key in d.keys(): # Anahtarlar üzerinden döngü oluşturur, değerleri görmezden gelir
for value in d.values(): # Değerler üzerinden döngü oluşturur, anahtarları görmezden gelir
İki listeden sözlük oluşturma
data = dict(zip(anahtar_listesi, deger_listesi))